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

asp.net core mvc app on linux can't be reached from outside the server

这是一个 asp.net 核心 2.1 mvc 应用程序,托管在带有 Nginx 的 ubuntu 18.04 上。 UFW 被禁用。 Web 应用程序一开始就可以正常工作。当我发现它已关闭时,已经有一段时间了。

使用浏览器我转到 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,这是正确的回应。所以在我看来,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;"

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

另外,我弄清楚了网络应用程序宕机了多长时间,只有一天。因为使用网络应用程序的另一项服务直到前一天都运行良好。我不知道为什么 nginx 配置文件没有任何更改就退出工作。 我想这是一个特例,希望它可以帮助某人。