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

EC2上Docker Compose部署的应用无法公网访问求助

排查要点
  • 检查Ubuntu本地防火墙(ufw)
    Ubuntu默认可能启用ufw拦截外部流量。执行ufw status查看状态,若开启需添加允许规则:

    ufw allow 8000/tcp
    ufw allow 8001/tcp
    ufw reload
    
  • 确认Docker端口绑定范围
    容器日志显示监听[::]:80/443(IPv6任意地址),但公网多为IPv4访问。执行docker ps查看端口映射,确保显示为0.0.0.0:8000->80/tcp而非仅:::8000->80/tcp。若仅绑定IPv6,需在docker-compose.yml中明确指定IPv4绑定:

    ports:
      - "0.0.0.0:8000:80"
      - "0.0.0.0:8001:443"
    
  • 验证网络ACL配置
    默认VPC的网络ACL是无状态的,除入站开放8000/8001端口,还需确保出站开放1024-65535端口(用于回包)。检查子网关联的网络ACL,确认入站规则允许0.0.0.0/0访问8000/tcp、8001/tcp,出站规则允许0.0.0.0/0访问1024-65535/tcp。

  • 确认EC2实例的公网可达性
    确保使用实例的公网IP/弹性IP访问,而非私有IP。同时检查实例所在子网的路由表,确认存在0.0.0.0/0指向互联网网关(igw-xxx)的路由条目。

  • 验证容器内应用监听状态
    进入容器确认应用确实在监听端口:

    docker exec <容器名称或ID> ss -tulpn | grep -E '80|443'
    

    需输出包含LISTEN状态的条目,确保应用未异常退出或监听失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 02:15:07