Как запустить более одного основного приложения asp.net на сервере Nginx - PullRequest
0 голосов
/ 29 апреля 2018

Я хочу запустить два или более основных приложения asp.net на одном сервере. Но ip и порт, который они используют, это 127.0.0.1:5000.

1 Ответ

0 голосов
/ 29 апреля 2018

Смысл обратного прокси-сервера, такого как nginx, заключается в том, что вы можете размещать на нем несколько приложений независимо от того, какой внутренний порт они используют. Таким образом, вы можете легко размещать приложения на портах 5000, 5001, 5002 и т. Д., А затем заставлять nginx отображать все эти приложения в разных доменах на порте 80 или даже в виде подпутей одного и того же домена (если приложения настроены должным образом для поддержки этого ).

Итак, конфигурация nginx может выглядеть так:

server {
    server_name host1.example.com;

    location / {
        proxy_pass http://localhost:5000/;
        # …
    }
}

server {
    server_name host2.example.com;

    location / {
        proxy_pass http://localhost:5001/;
        # …
    }
}

server {
    server_name host3.example.com;

    location / {
        proxy_pass http://localhost:5002/;
        # …
    }
}

Это позволит разместить три различных приложения, используя внутренние порты 5000, 5001 и 5002, на трех разных поддоменах host1.example.com, host2.example.com и host3.example.com.

Конечно, для этого вам нужно запускать приложения на разных портах. Вы можете использовать переменную окружения ASPNETCORE_URLS для динамической установки URL-адреса, на котором размещается приложение, например, с помощью:

$ ASPNETCORE_URLS=http://localhost:5001 dotnet run
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...