AWS EC2 Linux实例公网IP及公网DNS无法访问故障排查求助
AWS EC2 Nginx公网无法访问的可能原因
- 安全组规则配置错误:你新增的
Custom TCP规则需确认端口范围设置为80(HTTP服务默认端口)或443(HTTPS服务默认端口),且源地址设置为0.0.0.0/0(允许所有IPv4地址访问)或你本地的公网IP段,同时确认没有优先级更高的拒绝规则覆盖该放行规则。 - VPC网络ACL拦截:确认实例所属子网关联的网络ACL,入站方向已开放
80/443端口,出站方向已开放1024-65535临时端口用于响应请求。默认VPC网络ACL为全通,若你手动修改过配置需重点核对。 - 实例本地防火墙拦截:登录EC2实例检查内部防火墙规则,使用firewalld的环境可执行
firewall-cmd --list-all确认端口放行状态,使用iptables的环境可执行iptables -L INPUT -n查看规则,未开放对应端口需手动添加放行规则。 - Nginx监听配置异常:查看Nginx配置文件(通常为
/etc/nginx/nginx.conf或站点独立配置文件)的listen指令,确认监听地址为0.0.0.0:80或实例的私网IP,而非仅绑定127.0.0.1,修改配置后需执行nginx -s reload重载生效。 - 子网路由表未配置互联网网关路由:确认实例所在子网的路由表中存在目标
0.0.0.0/0、下一跳为VPC绑定的互联网网关(IGW)的路由条目,缺少该条目会导致公网流量无法正常进出实例。 - 本地网络访问限制:可切换手机移动热点访问EC2公网IP,排查是否为当前本地网络运营商封禁了
80/443端口,或本地防火墙、代理服务拦截了访问请求。
内容的提问来源于stack exchange,提问作者David Johns
相关产品推荐
相关产品推荐

