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

Windows Server 2012配置NGINX代理NodeJS站点80端口报404问题

NGINX反向代理Node应用返回404修复方案

核心故障原因

你当前配置中http块下的基础运行配置全部被注释,是导致转发异常的首要原因。缺失mime.types引入、基础传输配置的情况下,NGINX无法正常处理代理响应,同时Windows环境下的解析、配置加载逻辑问题也会触发404。

排查前先在服务器本地直接访问http://127.0.0.1:9000,确认Node应用本身可正常响应,排除应用自身故障。

修复步骤

  1. 替换现有nginx.conf配置为以下内容,取消基础配置的注释,同时调整适配Windows环境和SSO场景的参数:
worker_processes 1;

events {
    worker_connections 1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile      on;
    keepalive_timeout 65;

    server {
        listen 80;
        server_name _;

        location / {
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header Host $host;
            
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
            
            proxy_pass http://127.0.0.1:9000/;
            proxy_read_timeout 240s;
        }
    }
}
  1. 配置调整说明:
    • 恢复http块下被注释的基础配置,保证NGINX可以正常识别响应类型、处理代理转发逻辑
    • 将proxy_pass中的localhost改为127.0.0.1,规避Windows系统IPv6解析优先级问题导致的转发失败
    • 将Host请求头取值改为$host,避免携带端口信息导致SSO回调域名校验失败
  2. 正确重载配置(Windows环境禁止直接双击nginx.exe启动/重载):
    • 打开命令提示符,进入NGINX安装的根目录
    • 执行nginx.exe -t命令校验配置语法,命令输出会显示当前加载的配置文件路径,确认是你修改的文件且语法校验通过
    • 校验通过后执行nginx.exe -s reload重载配置,如果是首次启动直接执行nginx.exe即可

额外排查点

如果重载后仍然返回NGINX默认404页面,先执行tasklist | findstr nginx.exe查看系统中是否运行了多个NGINX进程,全部结束后重新启动即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 13:48:19