Доступ к веб-приложению ASP.NET Core 2.x под управлением Linux (без nginx) - PullRequest
0 голосов
/ 06 сентября 2018

Мое веб-приложение ASP.NET Core 2.1 отлично работает на моей установке dev. Теперь я хочу протестировать его в производстве.

Производственный сервер - Ubuntu 18. Я следовал инструкциям . Я пока не хочу настраивать nginx, просто сделайте несколько быстрых тестов, и в инструкциях сказано:

«Любая конфигурация - с обратным прокси-сервером или без него - является допустимой и поддерживаемой конфигурацией хостинга для приложений ASP.NET Core 2.0 или более поздней версии».

Итак, я построил и опубликовал свой проект: dotnet publish --configuration Release. Тогда на сервере:

  • установить среду выполнения dotnet
  • скопированные файлы на сервер (/var/www/myapp)
  • открытых портов: sudo uwf allow 5000/tcp 80/tcp
  • запустить dotnet MyApp.dll (также пробовал sudo dotnet MyApp.dll)

Он работает без ошибок / предупреждений и говорит, что прослушивает http://localhost:5000.

На локальном компьютере я попытался http://serveripaddresshttp://serveripaddress:5000), но ничего не получил («не удается подключиться»). Я могу получить доступ к этому серверу с помощью ssh, sftp и т. Д., Только http не работает.

Что я делаю не так?

Ответы [ 2 ]

0 голосов
/ 06 сентября 2018

привязка хоста по умолчанию - 127.0.0.1, поэтому вы можете получить доступ к приложению только локально. если вы хотите получить к нему доступ из сети, добавьте параметр --urls. например:

для разработки вы можете запустить:

dotnet run --urls http://0.0.0.0:5000

и для развернутого проекта вы можете запустить:

dotnet MyApp.dll --urls http://0.0.0.0:5000

Я использую dotnet core sdk версии 2.1.400.

0 голосов
/ 06 сентября 2018

Нашел проблему. Мне нужно было использовать:

sudo ASPNETCORE_URLS="http://0.0.0.0:5000" dotnet MyApp.dll

Тогда записывается Now listening on: http://0.0.0.0:5000. И я могу получить к нему доступ из удаленного клиента.

...