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

时间:2019-04-10 16:12:44

标签: c# asp.net-core-mvc asp.net-core-2.1 ubuntu-18.04 nginx-reverse-proxy

这是一个使用Nginx托管在Ubuntu 18.04上的asp.net核心2.1 mvc应用程序。 UFW已禁用。 Web应用程序从一开始就可以工作。当我发现它崩溃了已经有一段时间了。

使用浏览器,我转到thesite.com,浏览器被重定向到 https://www.thesite.com:5001/出现错误:

  

无法访问此网站

     

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达到断点时。

任何建议都值得赞赏。谢谢。

1 个答案:

答案 0 :(得分:0)

好吧,我在/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应用程序关闭了多长时间,只有一天。因为直到前一天,使用Web应用程序的另一项服务仍能正常工作。我不知道为什么nginx配置文件不做任何更改就退出工作。 我想这是一个特例,希望它可以对某人有所帮助。