C# linux上的asp.net核心mvc应用程序可以';无法从服务器外部访问

C# linux上的asp.net核心mvc应用程序可以';无法从服务器外部访问,c#,asp.net-core-mvc,asp.net-core-2.1,ubuntu-18.04,nginx-reverse-proxy,C#,Asp.net Core Mvc,Asp.net Core 2.1,Ubuntu 18.04,Nginx Reverse Proxy,它是一个asp.net核心2.1 mvc应用程序,托管在带有Nginx的Ubuntu18.04上。UFW已禁用。 web应用程序一开始就在工作。当我发现它坏了,已经有一段时间了 使用我访问thesite.com的浏览器,浏览器被重定向到 有误: 无法访问此网站 错误\u连接\u超时\u 端口号已附加,因此至少外部请求可以到达Nginx。 然后我跑进箱子里 wget https://localhost --no-check-certificate 我可以得到index.html,这是正确的响应。

它是一个asp.net核心2.1 mvc应用程序,托管在带有Nginx的Ubuntu18.04上。UFW已禁用。 web应用程序一开始就在工作。当我发现它坏了,已经有一段时间了

使用我访问thesite.com的浏览器,浏览器被重定向到 有误:

无法访问此网站

错误\u连接\u超时\u

端口号已附加,因此至少外部请求可以到达Nginx。 然后我跑进箱子里

wget https://localhost --no-check-certificate
我可以得到index.html,这是正确的响应。因此,在我看来,web应用程序正在接受https请求

我从未更改过默认侦听端口,为了验证,我运行此命令来检查侦听端口

sudo netstat -tnlp | grep :5001
结果显示dotnet正在侦听端口5001和5000

在另一次尝试中,我使用VisualStudio调试器连接到LinuxDotnet进程,并设置了几个断点。我可以看到,当使用浏览器时,未达到断点。但是当像上面那样使用wget时,达到了断点


任何建议都将不胜感激。谢谢。

好吧,我在/etc/nginx/sites enabled/www.thesite.com文件中更改了两件事,web应用程序再次联机

  • 在Location部分,将bypass_代理行从http更改为https

  • 在上游部分,将“服务器127.0.0.1:5000;”更改为“服务器127.0.0.1:5001;”

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

    此外,我还计算出了web应用程序关闭了多长时间,这仅仅是一天。因为在前一天之前,另一个使用该web应用程序的服务运行良好。我不知道为什么nginx配置文件在没有任何更改的情况下停止工作。 我想这是一个特例,希望它能帮助一些人