无法通过公网IPv4地址访问EC2实例上的Angular应用
可能遗漏的配置项排查
Windows Defender 防火墙拦截
Windows系统默认启用防火墙,即便EC2安全组放行了端口,本地防火墙仍可能拦截4200端口的入站连接。可按以下步骤配置:- 打开「Windows Defender 防火墙」→「高级设置」
- 新建入站规则,允许TCP协议的4200端口,针对所有远程IP。
确认Angular服务的监听状态
在EC2实例内通过PowerShell执行命令Get-NetTCPConnection -LocalPort 4200,检查LocalAddress是否为0.0.0.0,确保服务确实监听了所有网卡,而非仅本地回环地址(127.0.0.1)。子网网络ACL限制
安全组放行了流量,但子网关联的网络ACL若被自定义过,可能存在入站/出站规则拦截4200端口。需检查:- 入站规则:允许TCP 4200端口的流量从
0.0.0.0/0进入 - 出站规则:允许TCP 4200端口的响应流量出站
- 入站规则:允许TCP 4200端口的流量从
实例所在子网类型
若EC2实例部署在私有子网,即便分配了公网IPv4地址,也无法直接通过公网访问(私有子网的公网IP仅用于NAT出站,不支持入站访问)。需确认实例是否在公有子网(子网路由表包含指向Internet网关的路由)。公网IP连通性验证
先尝试用ping <公网IP>测试基础连通性:如果ping不通,可能是公网IP未正确分配或AWS网络层面存在异常;如果ping通但端口无法访问,再聚焦端口相关的防火墙、监听配置。
内容的提问来源于stack exchange,提问作者pranav verma
相关产品推荐
相关产品推荐

