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

EC2实例公网访问超时求助:无法通过公网DNS打开测试页

EC2 Apache公网访问故障排查与解决

问题背景

在EC2实例上运行Apache服务,本地执行curl localhost能正常返回测试页,但通过公网DNS访问时:

  • 仅开放80端口时提示"EC2 Instance took too long to respond"
  • 添加443端口后提示"refused to connect"
    已确认Apache服务处于运行状态,安全组已开放22、80、443端口。

排查与解决步骤

1. 确认Apache监听地址

Apache可能仅绑定了本地回环地址(127.0.0.1),导致外部无法访问。执行以下命令检查监听情况:

netstat -tulpn | grep httpd

如果输出仅显示127.0.0.1:80,修改Apache主配置文件(通常为/etc/httpd/conf/httpd.conf):
找到Listen行,修改为:

Listen 0.0.0.0:80

重启Apache生效:

sudo systemctl restart httpd

2. 修正安全组入站规则

安全组需确保入站规则正确配置:

  • 类型:HTTP
  • 协议:TCP
  • 端口范围:80
  • 来源:0.0.0.0/0(测试场景,生产环境建议限制特定IP段)

注:443端口出现连接拒绝是因为未配置SSL证书及监听,无需开启该端口,先聚焦解决80端口访问问题。

3. 检查子网网络ACL(若启用)

如果实例所在子网配置了网络ACL,需双向放行80端口:

  • 入站规则:允许TCP 80端口,来源0.0.0.0/0
  • 出站规则:允许TCP 80端口,目标0.0.0.0/0
    网络ACL为无状态规则,必须同时配置入站和出站。

4. 验证实例公网访问能力

  • 检查EC2实例是否分配了公网IP:在控制台实例详情中查看「公网IPv4地址」,为空则需分配弹性公网IP
  • 确认子网路由表包含指向Internet Gateway(IGW)的路由条目

5. 本地网络测试

在本地终端执行命令测试连通性:

curl -v http://<EC2公网DNS地址>

若仍超时,排查本地网络是否存在防火墙、代理限制,可切换网络环境重试。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 13:43:09