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

AWS EC2实例80端口无法通过公网IP访问问题求助

解决EC2上Node.js应用公网无法访问的问题
  • 修正应用监听地址
    你的Fastify代码仅指定了端口,默认会绑定到127.0.0.1(仅本地可访问)。修改listen配置,添加host: '0.0.0.0'让应用监听所有网卡:

    fastify.listen({ port: PORT, host: '0.0.0.0' }, function (err) {
        if (err) {
            console.log("Error: " + JSON.stringify(err))
            process.exit(1)
        }
        console.log(`App listening on port: ${PORT}`);
    })
    

    修改后重启应用,再尝试公网访问。

  • 验证环境变量PORT配置
    确认.env文件里的PORT值是否为你安全组开放的80端口:

    • 如果是其他端口(比如3000),需要在EC2安全组中添加对应端口的入站规则(允许0.0.0.0/0访问该端口),访问时需在公网IP后加端口,例如http://35.176.45.73:3000。
  • 检查实例内部防火墙
    Amazon Linux可能启用了防火墙,执行以下命令放行对应端口(以80端口为例):

    # 放行80端口并永久生效
    sudo firewall-cmd --add-port=80/tcp --permanent
    # 重启防火墙使配置生效
    sudo firewall-cmd --reload
    

    若使用iptables,则执行:

    sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
    sudo service iptables save
    
  • 确认实例状态与公网IP
    检查EC2控制台实例详情页,确认实例处于运行中状态,且公网IP与你使用的35.176.45.73一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 04:46:01