这是一个 asp.net 核心的2.1 mvc应用程序,托管在带有Nginx的ubuntu 18.04上。UFW 已禁用。 Web 应用程序在开始时正在工作。当我发现它已经关闭时,已经有一段时间了。
使用我转到 thesite.com 的浏览器,浏览器被重定向到 https://www.thesite.com:5001/错误:
无法访问此站点
ERR_CONNECTION_TIMED_OUT
附加了端口号,因此似乎至少外部请求可以到达Nginx。 然后当我跑的时候在盒子里
wget https://localhost --no-check-certificate
我可以得到索引.html这是正确的响应。所以在我看来,Web 应用程序正在接受 https 请求。
我从未更改过默认侦听端口,为了验证,我运行它来检查侦听端口
sudo netstat -tnlp | grep :5001
结果显示 dotnet 正在侦听端口 5001 和 5000。
在另一次尝试中,我使用 Visual Studio 调试器附加到 linux dotnet 进程,并设置了一些断点。我可以看到在使用浏览器时未到达断点。但是当像上面这样使用wget时,达到了断点。
任何建议不胜感激。谢谢。
好吧,我在/etc/nginx/sites-enabled/www.thesite.com 文件中更改了两件事,Web 应用程序再次在线。
-
在"位置"部分中,将bypass_proxy行从 http 更改为 https
-
在上游部分中,将
"server 127.0.0.1:5000;"
更改为"server 127.0.0.1:5001;"
这解决了问题。虽然我不知道为什么。
另外,我弄清楚了网络应用程序关闭了多长时间,只有一天。因为另一个使用该 Web 应用程序的服务直到前一天才运行良好。我不知道为什么nginx配置文件在没有任何更改的情况下停止工作。 我想这是一个特例,希望它可以帮助某人。