You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Nginx反向代理.NET Core项目出现502 Bad Gateway错误求助

解决Nginx反向代理.NET Core应用出现502 Bad Gateway的问题

我本地可访问运行在5001端口的.NET Core应用,但通过公网IP结合反向代理配置访问时出现502 Bad Gateway错误。已为域名unix.example.com配置SSL,仅开放443端口入站流量。以下是我的Nginx location配置代码及错误日志,请问遗漏了哪些配置?

Nginx配置代码

location  / {
    root /var/www/html/masterwebsite/publish/;
    proxy_http_version 1.1;
    proxy_set_header "Connection" "";
    proxy_pass http://127.0.0.1:5001;
    proxy_buffering off;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-Port $server_port;
    proxy_temp_file_write_size 64k;
    proxy_connect_timeout 10080s;
    proxy_send_timeout 10080;
    proxy_read_timeout 10080;
    proxy_buffer_size 64k;
    proxy_buffers 16 32k;
    proxy_busy_buffers_size 64k;
    proxy_redirect off;
    proxy_request_buffering off;
}
server_name _;

错误日志内容

2023/04/09 00:39:14 [error] 36703#36703: *1 upstream prematurely closed connection while reading response header from upstream, client: 86.18.44.49, server: unix.example.com, request: "GET /masterwebsite/ HTTP/1.1", upstream: "http://127.0.0.1:5001/masterwebsite/"

问题排查与修复建议

  • 修正server_name匹配:当前server_name _;是通配符配置,无法精准匹配你的域名unix.example.com,必须改为server_name unix.example.com;,确保Nginx将请求路由到正确的server块。
  • 移除多余的root指令:location块中的root /var/www/html/masterwebsite/publish/;属于静态文件服务配置,而这里是反向代理到.NET Core应用,这条指令会干扰请求转发逻辑,直接删除即可。
  • 添加HTTPS转发头:由于你使用了SSL(443端口),需要告知.NET Core应用请求来自HTTPS,添加配置:proxy_set_header X-Forwarded-Proto $scheme;,否则应用可能生成HTTP链接导致请求异常。
  • 检查.NET Core监听地址:确认应用监听的是http://0.0.0.0:5001而非仅http://localhost:5001,部分环境下localhost和127.0.0.1存在访问差异,监听0.0.0.0才能确保本地所有IP可访问。
  • 验证上游连通性:在服务器终端执行curl http://127.0.0.1:5001/masterwebsite/,如果返回异常,说明问题出在.NET Core应用本身,比如路由配置错误或服务未正常启动。

内容的提问来源于stack exchange,提问作者RON12345

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 18:32:15