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

Nginx反向代理配置后无法通过server_name访问服务问题排查

MERN应用Nginx反向代理无法访问的问题排查与解决

1. 核心问题:访问方式错误

你用127.0.0.1:douban的格式完全不对,server_name是用来匹配HTTP请求头中的Host字段的,不是端口或URL路径的一部分。正确操作如下:

  • 修改本地hosts文件:
    • Linux/macOS:编辑/etc/hosts,添加一行 127.0.0.1 douban
    • Windows:编辑C:\Windows\System32\drivers\etc\hosts,添加同样内容
  • 之后直接在浏览器输入http://douban即可访问(Nginx监听80端口,HTTP默认端口可省略)

2. 验证反向代理是否正常工作的步骤

  • 确认Node服务在4000端口运行:
    • Linux/macOS执行 netstat -tulpn | grep 4000
    • Windows执行 netstat -ano | findstr :4000
      查看是否有Node进程占用4000端口
  • 直接访问http://127.0.0.1:4000,确认后端服务本身能正常响应请求
  • 检查Nginx日志:
    • 实时查看访问日志:tail -f /var/log/nginx/access.log
    • 查看错误日志:tail -f /var/log/nginx/error.log
      访问http://douban时,观察日志是否有请求记录或报错信息

3. 额外配置检查点

  • 避免server块被覆盖:可以给当前server块加上default_server标记,确保优先匹配:
    server{
      listen 80 default_server;
      server_name douban;
      # 其余配置不变
    }
    
  • 你的proxy头部配置已经覆盖了WebSocket和常规HTTP请求的需求,无需调整

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 12:52:21