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

AWS EC2 Windows实例端点暴露问题:已配置安全组仍无法外部访问

可能的问题及排查步骤
  • 安全组规则验证
    确认绑定到EC2实例的launch-wizard-1安全组入站规则:

    • 协议为TCP,端口范围是5000
    • 源地址设置为0.0.0.0/0(允许所有公网IP访问)或者你的本地公网IP
    • 务必确认该安全组已关联到目标EC2实例,避免修改了错误的安全组
  • Windows本地防火墙限制
    Windows默认防火墙会拦截外部端口访问,需添加入站规则:

    1. 打开Windows Defender防火墙 -> 高级设置
    2. 新建入站规则,选择端口,指定TCP 5000端口
    3. 允许连接,应用到所有网络类型
      也可以暂时关闭防火墙测试(测试完成后立即开启),验证是否是防火墙导致的问题
  • C#应用绑定地址检查
    虽然你声明应用绑定0.0.0.0:5000,但实际可能配置错误。在EC2实例中执行命令:

    netstat -ano | findstr :5000
    

    如果结果显示监听地址是127.0.0.1:5000,说明应用仅绑定本地回环地址,需修改应用配置:

    • 在Program.cs中添加builder.WebHost.UseUrls("http://0.0.0.0:5000")
    • 或在appsettings.json中设置"Urls": "http://0.0.0.0:5000"
  • VPC网络ACL检查
    检查EC2实例所在子网的网络ACL:

    • 入站规则允许TCP 5000端口的流量(源0.0.0.0/0)
    • 出站规则允许TCP 1024-65535端口的响应流量(目标0.0.0.0/0)
      网络ACL是无状态的,入站和出站规则必须同时配置正确
  • 公网访问权限验证

    • 确认EC2实例的公网IP未变更(普通公网IP会在实例重启后改变,建议使用弹性IP固定)
    • 检查实例所在子网的路由表是否包含指向Internet网关(IGW)的路由条目,确保实例处于公有子网
  • 应用运行状态确认
    在EC2实例内部重新访问http://127.0.0.1:5000/do-something,确认应用正常响应。同时通过netstat获取的PID,执行tasklist | findstr <PID>验证应用进程是否持续运行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 19:22:50