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

Nginx反向代理配置异常 无法公网访问EC2上5000端口Node应用

问题核心原因

你当前公网访问的请求根本没有命中你写的这个Nginx配置块,而是被Nginx预装的默认虚拟主机配置接住了,这也是为什么本地执行curl localhost能正常返回状态、公网IP访问却跳默认欢迎页、访问/nginx_status返回404——默认配置里根本没有配置反向代理和状态页规则。

第一步:禁用Nginx默认站点

不同发行版默认站点的存储位置不一样:

  • Debian/Ubuntu系:默认配置在/etc/nginx/sites-enabled/default,直接执行命令禁用即可,不用删除文件方便以后回滚:
unlink /etc/nginx/sites-enabled/default
  • CentOS/RHEL系:默认配置在/etc/nginx/conf.d/default.conf,直接重命名备份:
mv /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.bak

第二步:修正现有Nginx配置

你当前的配置缺少反向代理必要的请求头传递规则,也没有给状态页加访问控制,直接替换为如下内容即可:

server {
    # 加default_server标记,让这个配置块接住所有未匹配其他站点的80端口请求
    listen 80 default_server;
    listen [::]:80 default_server;

    client_max_body_size 20M;

    location / {
        proxy_pass http://127.0.0.1:5000;
        # 反向代理必备参数,避免Node应用识别错请求信息
        proxy_http_version 1.1;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

    location /nginx_status {
        stub_status on;
        access_log off;
        # 按需调整访问规则:如果只需要本机查看状态,就用下面两行
        # allow 127.0.0.1;
        # deny all;
        # 如果需要公网访问状态页,就开下面这行,生产环境不建议公网暴露状态页
        allow all;
    }
}

全量反向代理到Node应用的场景下,原配置里的root和index指令可以删掉,留着也不会影响功能。

第三步:校验配置并重载服务

先确认你的Node应用正常运行,本地执行curl http://127.0.0.1:5000能正常返回接口内容,再执行Nginx配置校验:

nginx -t

如果返回syntax is ok和test is successful的提示,就重载Nginx让配置生效:

systemctl reload nginx

第四步:放行EC2和系统层面的端口访问

很多人会漏这层配置:

  • 登录EC2控制台,找到实例绑定的安全组,添加入站规则,允许0.0.0.0/0访问TCP 80端口
  • 如果系统内部开启了防火墙,也要同步放行80端口:
    # Debian/Ubuntu 开ufw的情况
    ufw allow 80/tcp
    # CentOS/RHEL 开firewalld的情况
    firewall-cmd --add-port=80/tcp --permanent
    firewall-cmd --reload
    

验证

全部操作完成后:

  • 直接访问实例公网IP,就能正常看到5000端口Node应用返回的内容
  • 如果你配置了公网访问状态页,访问http://你的公网IP/nginx_status就能看到Nginx运行状态

提示:如果不需要公网查看Nginx运行状态,记得把/nginx_status规则改回仅允许本机访问,避免服务器信息泄露。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 23:06:23