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

AWS EC2实例部署MERN Web应用成功后浏览器无法访问如何排查

问题根因概述

该ERR_CONNECTION_TIMED_OUT报错在AWS EC2部署场景下,绝大多数情况是入站流量被网络访问控制策略拦截导致,少部分由实例内部防火墙、应用监听配置错误引发。

排查与解决步骤

1. 检查EC2安全组入站规则(最常见原因)

  • 进入AWS EC2控制台,定位到目标实例,查看实例关联的安全组配置
  • 添加入站规则放行对应端口的TCP访问:
    • 80端口:选择规则类型为HTTP,源地址设置为0.0.0.0/0(测试阶段可允许所有IPv4访问,生产环境可按需缩窄可信IP范围)
    • 3000端口:选择规则类型为自定义TCP,端口范围填写3000,源地址设置为0.0.0.0/0
  • 若需支持IPv6访问,需额外添加源地址为::/0的对应规则

2. 检查子网关联的网络ACL配置

  • 查看实例所在子网绑定的网络ACL:默认配置允许所有入站/出站流量,若你手动修改过配置,需确认:
    • 入站规则放开80、3000端口的TCP访问
    • 出站规则放开临时端口范围(1024-65535)的响应流量

3. 检查EC2实例内部防火墙配置

根据实例操作系统执行对应操作:

  • Ubuntu/Debian系统:
    执行sudo ufw status查看防火墙状态,若为开启状态,依次执行:
    sudo ufw allow 80/tcp
    sudo ufw allow 3000/tcp
    
  • CentOS/RHEL系统:
    执行sudo firewall-cmd --list-all查看已开放端口,若未放开对应端口,依次执行:
    sudo firewall-cmd --add-port=80/tcp --permanent
    sudo firewall-cmd --add-port=3000/tcp --permanent
    sudo firewall-cmd --reload
    

4. 确认应用监听地址配置正确

  • 若应用仅绑定127.0.0.1地址,仅能在实例本地访问,公网无法请求到,需修改为绑定0.0.0.0:
    • 前端应用:启动命令添加--host 0.0.0.0参数,例如npm run start -- --host 0.0.0.0
    • 后端Node应用:监听端口时指定host参数,示例:app.listen(80, '0.0.0.0', () => {})
  • 可在实例本地执行curl localhost:80、curl localhost:3000验证应用本身可正常响应

5. 核对实例公网IP有效性

  • 若未给EC2绑定弹性公网IP,实例停止后重启会自动更换公网IP,需确认你访问的IP和EC2控制台显示的当前公网IP一致
验证方法

配置修改完成后,可先在本地设备执行telnet EC2_INSTANCE_PUBLIC_IP_ADDRESS 80测试端口连通性,若能连通代表网络层面配置正常,再到浏览器访问即可。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 02:24:05