.net core 3 使用 Nginx 反向代理重定向到端口 5001,但没有加载任何页面

.net core 3 使用 Nginx 反向代理重定向到端口 5001,但没有加载任何页面

我正在尝试设置 ubuntu 18.04 droplet 来运行 .Net Core 3.1 Web 应用程序。我正在关注教程。

到目前为止,如果我在浏览器中输入 droplet IP,nginx 就可以正常工作(或者至少我可以看到 nginx 欢迎页面)。我已经创建了 /var/www/html/example.com 文件夹,其中包含我的 .Net Core 应用程序,并且它可以正常工作。我已更改我的 dns 缓存(在本地计算机上),以将 example.com 重定向到我的 droplet IP。

但是当我在浏览器中输入 example.com 时,我被重定向到 example.com:5001,并出现 ERR_CONNECTION_REFUSED

nginx access.log 得到以下信息:

186.XXX.X.XX - - [03/May/2020:03:07:52 +0000] "GET / HTTP/1.1" 307 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML,如 Gecko) Chrome/81.0.4044.129 Safari/537.36"

这是我的 nginx 配置 /etc/nginx/sites-available/example.com

server {
   listen 80;
   server_name example.com *.example.com;

location / {
   proxy_pass http://localhost:5001;
   proxy_http_version 1.1;
   proxy_set_header Upgrade $http_upgrade;
   proxy_set_header Connection keep-alive;
   proxy_set_header Host $host;
   proxy_cache_bypass $http_upgrade;
   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   proxy_set_header X-Forwarded-Proto $scheme;
   }
}

我对云系统和服务器设置还不太熟悉,所以有点迷茫。我只想让服务器运行起来,这样我就可以上传一些代码并练习 .Net Core 编码。所以任何帮助都很好!

谢谢你的建议!

答案1

我明白我遗漏了什么。我在运行应用程序时没有在 program.cs 中指定端口号

public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder.UseStartup<Startup>().UseUrls(new[] { "http://0.0.0.0:5001" }); // now the Kestrel server will listen on port 5001!
            });

相关内容