Это приложение mvc asp.net core 2.1, размещенное на Ubuntu 18.04 с Nginx. УФВ отключен. Веб-приложение работало в начале. Когда я узнал, что он не работает, прошло некоторое время.
С помощью браузера я захожу на thesite.com, браузер был перенаправлен на https://www.thesite.com:5001/ с ошибкой:
This site can’t be reached
ERR_CONNECTION_TIMED_OUT
Номер порта был прикреплен, поэтому кажется, что по крайней мере внешний запрос может достичь Nginx. Затем внутри коробки, когда я побежал
wget https://localhost --no-check-certificate
Я мог бы получить index.html, который является правильным ответом. Так что мне кажется, что веб-приложение принимает https-запросы.
Я никогда не менял порт прослушивания по умолчанию, чтобы проверить, я запустил это, чтобы проверить порты прослушивания.
sudo netstat -tnlp | grep :5001
Результат показывает, что dotnet прослушивает порты 5001 и 5000.
В другой попытке я использовал отладчик Visual Studio для подключения к процессу linux dotnet и установил несколько точек останова. Я мог видеть, что при использовании браузера точка останова не была достигнута. Но при использовании wget, как указано выше, была достигнута точка останова.
Любые советы приветствуются. Спасибо.
Ну, я изменил две вещи в файле /etc/nginx/sites-enabled/www.thesite.com, и веб-приложение снова в сети.
В разделе Location измените строку bypass_proxy с http на https
В восходящем разделе измените "server 127.0.0.1:5000;"
на "server 127.0.0.1:5001;"
Это решило проблему. Хотя я не знаю почему.
Кроме того, я выяснил, как долго веб-приложение было недоступно, это был всего один день. Потому что другая служба, которая использовала веб-приложение, работала нормально до вчерашнего дня. Я не знаю, почему файл конфигурации nginx перестал работать без каких-либо изменений. Я думаю, это частный случай, надеюсь, это может помочь кому-то.