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

AWS EC2 Web服务器无法访问问题排查(已配置安全组)

排查EC2 Web服务器无法访问的步骤

1. 验证实例基础状态

  • 确认EC2实例处于运行中状态,且系统状态检查、实例状态检查均显示正常。若状态检查失败,先重启实例再测试。
  • 确认实例已分配公网IP,若使用弹性IP,需确认已成功关联到实例。

2. 检查用户数据脚本执行情况

用户数据可能未正确执行,通过以下操作验证:

  • 登录实例,查看用户数据执行日志:cat /var/log/cloud-init-output.log,搜索httpd相关内容,确认:
    • yum install是否完成,有无包下载失败等报错
    • systemctl start httpd.service是否执行成功,有无启动失败提示
  • 执行systemctl status httpd,确认httpd服务处于**active (running)**状态。若未运行,尝试systemctl restart httpd并查看报错信息。
  • 检查网页文件是否存在且内容正确:cat /var/www/html/index.html,确认输出包含主机名的Hello World内容。

3. 排查实例内部防火墙

即使安全组放行,实例内部防火墙仍可能拦截80端口:

  • 对于Amazon Linux 2,默认使用firewalld,执行firewall-cmd --list-all,确认是否允许http服务或80端口。若未允许,执行:
    firewall-cmd --add-service=http --permanent
    firewall-cmd --reload
    
  • 若使用iptables,执行iptables -L -n,确认存在允许80端口的规则。若没有,添加规则:
    iptables -A INPUT -p tcp --dport 80 -j ACCEPT
    
    之后保存规则(不同系统保存命令不同,如service iptables save)。

4. 确认安全组与网络ACL配置

  • 安全组:入站规则需允许0.0.0.0/0(或你的本地IP)访问TCP 80端口;出站规则默认允许所有流量,若修改过需确认未限制响应流量。
  • 网络ACL:若子网的网络ACL非默认配置,需确保:
    • 入站规则允许TCP 80端口(源0.0.0.0/0,动作允许)
    • 出站规则允许TCP 1024-65535端口(客户端访问的响应流量使用随机高端口,需放行)
      网络ACL是非状态化的,入站、出站规则需成对配置。

5. 测试网络连通性

  • 本地机器执行telnet <公网IP> 80或curl <公网IP>:若提示连接超时,说明网络链路被拦截;若curl返回内容,可能是浏览器缓存问题。
  • 实例内部执行curl localhost:80:若能返回Hello World,说明服务本身正常,问题出在外部网络;若不能,说明httpd服务或配置存在问题。

6. 浏览器端排查

  • 清除浏览器缓存,或使用隐私模式访问,避免缓存的错误页面干扰。
  • 切换网络(如手机热点)测试,排除本地网络(公司防火墙、家庭路由器)对80端口的拦截。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 08:15:43