Почему мое приложение. NET не прослушивает порт 5000? - PullRequest
0 голосов
/ 02 мая 2020

Я невероятно новый. NET приложений, так что это, вероятно, легко исправить. Я только рискну в этот мир, потому что я действительно хочу попробовать Blazor.

У меня есть сервер Ubuntu на AWS Lightsail, и я пытаюсь настроить, чтобы я мог начать собственно кодирование. Я установил. NET Core 3.1 (и. NET Runtime 3.1), создал каталог в / home с именем Duck Goose и запустил dotnet new blazorserver. Наконец, я запустил dotnet publish --configuration Release.

Согласно this , это все, что мне нужно.

Я пошел в папку релиза и запустил dotnet DuckGoose.dll, и Приложение запущено. С этой стороны все кажется нормальным.

Однако, когда я go до http://lightsail_provided_ip:5000, сервер отказывает в соединении. Я понятия не имею, почему.

Заранее благодарю за помощь - я в новом мире, и я полностью потерян.

(У меня есть правило брандмауэра на Lightsail, чтобы разрешить входящий трафик c на порты 5000-5001 с TCP)

ПРИМЕЧАНИЕ: у меня также был запущен nginx до того, как я все это сделал, но я убил его, и проблема все еще существует.

1 Ответ

2 голосов
/ 03 мая 2020

Проблема в том, что ваш проект прослушивает адрес обратной связи, поэтому внешние устройства не могут подключиться к этой службе, прослушивая адрес обратной связи.

Существует два способа исправить это для облачного сервера:

  1. Настройте Nginx для настройки обратного прокси-сервера для вашей службы, который прослушивает адрес обратной связи, если вы собираетесь использовать Nginx. В вашей ссылке есть необходимые инструкции для ее настройки.

  2. Вы можете изменить адрес обратной связи на «0.0.0.0», при котором служба будет прослушивать все адреса. Это можно сделать, перейдя в каталог вашего проекта, откройте папку «Свойства», а затем отредактируйте файл launchSettings. json и измените следующую строку:

"applicationUrl": "https://localhost:5001;http://localhost:5000",

TO

"applicationUrl": "https://0.0.0.0:5001;http://0.0.0.0:5000",

После этого вы сможете подключиться к своему веб-сайту, перейдя на http://lightsail_provided_ip:5000

. Примечание: как правило, рекомендуется использовать Apache или Nginx для обработки общедоступных соединений c и обратного прокси-сервера для сервера Do tnet Kestrel, который прослушивает петлевой адрес. Kestrel все еще находится в стадии разработки, в то время как Nginx и Apache являются серверами, прошедшими боевые испытания, и обычно для них проще настроить HTTPS.

...