asp.net Linux 上的核心 MVC 应用程序无法从服务器外部访问



这是一个 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 应用程序再次在线。

  1. 在"位置"部分中,将bypass_proxy行从 http 更改为 https

  2. 在上游部分中,将"server 127.0.0.1:5000;"更改为"server 127.0.0.1:5001;"

这解决了问题。虽然我不知道为什么。

另外,我弄清楚了网络应用程序关闭了多长时间,只有一天。因为另一个使用该 Web 应用程序的服务直到前一天才运行良好。我不知道为什么nginx配置文件在没有任何更改的情况下停止工作。 我想这是一个特例,希望它可以帮助某人。

最新更新