无法通过域名访问EC2实例求助:Ping及公网IP访问正常
问题排查与解决方案
核心原因分析
ping通说明DNS解析正常且ICMP可达,但HTTP/HTTPS访问失败,大概率是端口访问限制或Alias记录配置逻辑问题,结合你提供的DNS配置,逐个排查:
1. 安全组/网络ACL端口放行检查
- 确认EC2实例关联的安全组,已放行80(HTTP)、443(HTTPS)端口的入站流量,源设为
0.0.0.0/0或特定IP段。 - 检查VPC的网络ACL,入站和出站规则都要允许80、443端口的流量(网络ACL是无状态的,出站规则不能遗漏)。
2. Alias记录的解析验证
你设置www的Alias指向根域名,本身逻辑没问题,但需确认:
- 根域名的A记录是否生效:执行
nslookup domain.com或dig domain.com,验证返回IP是否与EC2公网IP完全一致。 - 清空本地DNS缓存再测试:Windows执行
ipconfig /flushdns,Linux执行sudo systemd-resolve --flush-caches,避免服务商DNS缓存导致的解析延迟。
3. EC2实例内的服务状态检查
- 登录EC2实例,用
netstat -tulpn | grep :80或ss -tulpn | grep :80检查Web服务(如Nginx、Apache)是否在0.0.0.0或公网IP上监听80/443端口,避免仅监听127.0.0.1。 - 检查实例内防火墙(如iptables、firewalld),确认已放行80/443端口的入站流量。
4. 终端工具辅助定位
- 用
curl -v www.domain.com命令测试,查看返回的错误详情(如连接超时、拒绝连接、HTTP错误码),精准定位问题环节。 - 用浏览器隐私模式访问,排除本地缓存干扰。
5. Web服务跳转配置检查
如果Web服务配置了根域名与www域名的强制跳转,需确认跳转规则逻辑正确,避免出现循环跳转或规则冲突导致的访问失败。
内容的提问来源于stack exchange,提问作者Rahul Kumar
相关产品推荐
相关产品推荐

