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

Docker服务在EC2实例本地可访问,远程无法连接如何解决?

解决建议
  • 检查WebAPI的绑定地址:确保你的.NET WebAPI服务监听的是0.0.0.0而非仅127.0.0.1。在Program.cs中可以通过以下方式设置:

    builder.WebHost.UseUrls("http://0.0.0.0:80");
    

    或者在launchSettings.json的applicationUrl字段配置为http://0.0.0.0:80。服务仅绑定127.0.0.1时,只能通过本地回环访问,无法响应公网网卡的请求。

  • 验证EC2子网的网络ACL规则:网络ACL是子网级别的防火墙,即使安全组允许流量,网络ACL也可能拦截。确认入站规则允许80(HTTP)和443(HTTPS)端口的流量,同时出站规则允许返回的响应流量(通常是1024-65535端口范围)。

  • 检查EC2实例的系统防火墙:Linux实例可能启用了iptables或ufw,Windows实例可能有本地防火墙。运行以下命令验证:

    • Linux(iptables):sudo iptables -L INPUT | grep -E '80|443',确保存在允许对应端口的规则。
    • Linux(ufw):sudo ufw status,确认已开放80/443端口。
    • Windows:在Windows Defender防火墙中检查是否允许WebAPI服务的入站连接。
  • 确认WebAPI的监听端口与访问端口一致:你本地wget使用的是80端口,公网访问时需确保使用相同端口,且该端口在安全组、网络ACL、系统防火墙中均已开放。如果WebAPI实际监听其他端口,需同步调整所有相关配置。

  • 验证EC2公网端点的正确性:确认你使用的公网IP是当前EC2实例的有效公网IP(临时公网IP在实例停止重启后会变更,建议使用弹性IP固定)。在EC2控制台的实例详情中核对公网IP地址。

  • 在EC2本地测试公网IP访问:在EC2实例内部执行wget http://<你的公网IP>,如果无法访问,说明服务未绑定到公网网卡或本地防火墙拦截;如果能访问,再排查外部网络的路由问题(这种情况概率较低)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 03:35:26