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

ECS Task运行正常但无法通过EC2公网IP及端口访问该如何排查

排查方向

  • 端口号访问校验:从docker ps输出可知容器80端口映射到EC2宿主机32769端口、5000端口映射到32768端口,确认你访问的地址是http://<EC2公网IP>:32769或者http://<EC2公网IP>:32768,不要直接访问80/5000端口。
  • 验证.NET应用监听地址:ASP.NET默认仅监听本地环回地址,外部无法访问,需修改配置让应用监听所有网卡:
    可以在Dockerfile的final阶段新增环境变量:
    ENV ASPNETCORE_URLS="http://0.0.0.0:80;http://0.0.0.0:5000"
    
    或者修改ENTRYPOINT为:
    ENTRYPOINT ["dotnet", "personApi.dll", "--urls", "http://0.0.0.0:80;http://0.0.0.0:5000"]
    
  • 本地连通性验证:先在EC2实例本地执行curl http://localhost:32769和curl http://localhost:32768,如果本地请求也失败,说明问题出在应用本身,和外部网络无关;如果本地请求正常,再排查外层网络配置。
  • 容器内部服务验证:执行docker logs <容器ID>查看应用启动日志,排查是否有数据库连接失败、启动报错等异常;也可以进入容器内部验证服务可用性:docker exec -it <容器ID> curl http://localhost:80,确认容器内部服务可正常响应。
  • VPC网络ACL校验:安全组放行仅处理实例层面的访问控制,还需确认EC2实例所属子网的VPC网络ACL入站/出站规则,未拦截对应TCP端口的请求。
  • EC2本地防火墙校验:检查EC2实例内部是否开启了iptables、firewalld等本地防火墙规则,拦截了公网到对应端口的请求,可执行iptables -L -n、systemctl status firewalld确认规则配置。
  • ECS任务定义校验:确认任务定义中的容器端口映射配置,容器端口需和Dockerfile中EXPOSE的80、5000端口对应,主机端口设为0即可使用动态端口分配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 22:45:01