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

Windows系统下Nginx反向代理不跳转显示默认页问题咨询

问题原因

  • 配置未生效:修改nginx.conf后没有重载或重启Nginx,或是存在多个Nginx进程,旧进程仍占用80端口运行旧配置
  • 主机匹配失败:配置中server_name仅设置了localhost,当你通过局域网IP访问时,无法匹配到这个server块,会触发Nginx默认虚拟主机逻辑返回默认页
  • 转发地址解析异常:Nginx在Windows环境下解析localhost可能优先走IPv6地址::1,如果你的Express服务仅监听IPv4的127.0.0.1:3000,会导致转发失败
  • 配置语法隐忧:缺少必要的代理请求头,可能导致后端服务无法正常处理转发请求

解决步骤

  1. 重载/重启Nginx,确保配置生效
    打开命令行进入Nginx安装目录,依次执行以下命令:
# 检查配置文件语法是否正确
nginx -t
# 终止所有正在运行的Nginx进程
taskkill /f /im nginx.exe
# 重新启动Nginx
start nginx

如果nginx -t提示配置错误,按提示修正对应行即可。

  1. 修改server_name配置支持局域网访问
    将server块下的server_name localhost修改为以下格式,替换为你电脑的实际局域网IP(可通过ipconfig命令查看):
server_name localhost 192.168.x.x; # 192.168.x.x替换为你的局域网IP
  1. 完善反向代理配置
    将location /的配置替换为以下内容,避免解析问题同时补充必要的请求头:
location / {
    proxy_pass http://127.0.0.1:3000/api/;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
  1. 开放Windows防火墙端口
    在Windows防火墙中添加入站规则,开放80端口的公网/局域网访问权限,确保其他局域网设备可以访问到你电脑的80端口。

额外优化方案

如果仅用于局域网测试,你可以直接将Express服务的监听地址从127.0.0.1改为0.0.0.0,不需要Nginx反向代理,同一局域网下的设备可以直接通过http://你的局域网IP:3000访问服务。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 12:45:01