无法访问AWS EC2实例上的网站,寻求技术排查建议
EC2实例网站访问超时排查建议
一、实例内部服务与防火墙检查
- 通过AWS控制台的实例连接工具或SSH登录实例,执行
curl localhost:80(HTTP)或curl localhost:443(HTTPS),验证网站服务是否正常返回内容。如果无响应,检查Web服务(如Nginx/Apache)状态,比如执行systemctl status nginx确认服务是否启动。 - 检查实例内部防火墙规则:
- 用
iptables -L -n查看iptables规则,确认80、443端口有ACCEPT条目; - 用
firewall-cmd --list-all查看firewalld配置,确认public区域已开启http、https服务。
- 用
二、AWS网络配置验证
- 确认安全组关联正确性:查看EC2实例详情中的安全组ID,确保和你配置了HTTP/HTTPS规则的安全组一致,避免选错安全组。
- 细化安全组规则检查:
- 入站规则的源地址是否设置为
0.0.0.0/0(允许所有IPv4访问)或你当前的公网IP; - 确认端口范围为80(HTTP)、443(HTTPS),协议为TCP。
- 入站规则的源地址是否设置为
- 检查子网网络ACL:如果实例所在子网关联了自定义网络ACL,需确保入站规则允许80/443端口的TCP流量,同时出站规则允许1024-65535端口的TCP响应流量(网络ACL为双向规则,缺省拒绝)。
三、公网连通性测试
- 本地终端执行
ping 35.78.183.239,检查是否能收到响应。若ping不通,需确认实例是否分配了有效公网IP,以及子网路由表是否指向互联网网关(IGW)。 - 执行
telnet 35.78.183.239 80或nc -zv 35.78.183.239 80测试端口连通性:- 提示连接超时:重点排查安全组、网络ACL、路由表配置;
- 提示连接拒绝:排查实例内部防火墙或Web服务监听端口配置。
四、其他排查点
- 确认公网IP有效性:若使用弹性公网IP(EIP),检查是否正确关联到实例;若为自动分配公网IP,重启实例后IP可能变化,需确认访问的是当前实例的公网IP。
- 检查Web服务监听地址:比如Nginx配置文件中,server块需监听
0.0.0.0:80,而非仅127.0.0.1:80(后者仅允许本地访问)。 - 排除本地网络限制:若身处公司内网,可能存在出口防火墙拦截80/443端口,可切换手机热点测试。
内容的提问来源于stack exchange,提问作者Warren Hogan
相关产品推荐
相关产品推荐

