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

首次搭建Amazon EC2 Ubuntu 16 LAMP站点无法通过浏览器访问求助

解决EC2 Ubuntu 16服务器Apache默认页无法访问(504网关超时)的问题

刚搭完EC2就碰到这种情况太常见了,我帮你一步步排查解决:

1. 先确认Apache服务是否正常运行

SSH登录服务器后,先检查Apache的运行状态:

sudo systemctl status apache2

如果显示inactive (dead)或类似未运行状态,先启动服务:

sudo systemctl start apache2

为了避免服务器重启后服务中断,设置开机自启:

sudo systemctl enable apache2

2. 检查EC2安全组(最容易忽略的关键配置)

EC2的安全组相当于虚拟防火墙,默认只开放了SSH(22端口),必须手动添加HTTP(80端口)的入站规则:

  • 登录AWS控制台,找到你的EC2实例,点击「安全组」进入配置页面
  • 切换到「入站规则」标签,点击「编辑入站规则」
  • 添加一条规则:类型选「HTTP」,端口范围填「80」,来源选「0.0.0.0/0」(测试阶段允许所有IP访问,后续可改为你自己的IP提升安全性)
  • 保存规则

3. 检查Ubuntu本地防火墙(ufw)

Ubuntu默认可能启用了ufw,要确保它允许80端口的流量:
先查看当前防火墙状态:

sudo ufw status

如果看不到80/tcp相关的允许规则,添加规则:

sudo ufw allow 80/tcp

再用status命令确认规则已生效。

4. 测试服务器本地访问是否正常

在EC2服务器上用curl访问本地,验证Apache本身是否能正常响应:

curl http://localhost

或者

curl http://127.0.0.1

如果能返回Apache默认页面的HTML代码,说明Apache服务本身没问题,问题出在外部网络连接;如果本地curl也失败,需要检查Apache配置:

  • 打开/etc/apache2/ports.conf,确认存在Listen 80这一行
  • 打开/etc/apache2/sites-available/000-default.conf,确认虚拟主机配置正确,DocumentRoot指向默认的/var/www/html

5. 排查网络层面的其他可能

  • 确认浏览器输入的公网IP与服务器实际公网IP一致:在服务器上运行curl ifconfig.me,返回的IP即为公网IP,和你输入的地址对比
  • 检查EC2的网络ACL:默认网络ACL允许所有入站出站流量,如果你修改过,要确保允许80端口的入站流量(规则方向选入站,端口80,动作设为允许)
  • 排除本地网络干扰:504网关超时很可能是你本地网络(比如公司防火墙、代理)阻止了访问,可以尝试用手机热点访问,验证是否能打开默认页

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 09:17:39