Apache Ubuntu默认页面无法加载

4

我正在开发一个新网站,并且正在启动一个新的服务器。但是我遇到了一个以前从未遇到的问题。在服务器上安装了LAMP(Ubuntu 16.04),但我没有收到默认的Apache Ubuntu页面,而是出现了以下错误:

13.59.41.148 took too long to respond.

我以前使用Digital Ocean启动过许多LAMP服务器,但这是我第一次使用AWS EC2。可能有一些我在这个新主机上需要做但是错过了的事情吗?


发布您的安全组配置。确保您的实例位于具有IGW的公共子网中,并且在您的安全组中打开了80端口(HTTP)。检查您的Apache日志,以确保没有服务器错误。 - John Hanley
错误日志或访问日志中没有错误。安全组还不太确定,但已分配默认安全组。公共网络也不确定。您是否有关于如何检查这些内容的参考链接? - LucyTurtle
2个回答

8
您的实例已经分配了公共IP,问题在于安全组。
请检查默认安全组,您将看到SSH端口(22)对0.0.0.0/0打开,这意味着整个世界都可以通过IP/22访问您的实例。
您可以使用nc工具来检查连接[IP端口]。
nc -vz 13.59.41.148 22

为了确认Apache是否正在加载默认页面,您可以始终通过ssh连接到服务器并使用curl localhost进行检查。

curl localhost:80

如果您希望让所有人都可以访问,请向安全组添加网络规则,允许来自0.0.0.0/0的80端口的流量。

然而,在测试阶段之后更好的解决方案是在托管网站的EC2实例前设置负载均衡器。这个EC2实例将会被托管在私有网络中,而流量将会从位于公共网络的负载均衡器中转发。

您还应该仅允许您的IP地址/网络访问22端口。

请阅读安全组基础知识: AWS文档 - 安全组


1
谢谢!安全组是问题所在,这是我甚至不知道需要关注的东西! - LucyTurtle
你的回答真是救了我一命 :-) - stackoverflow account

5

亚马逊AWS解决方案

对于那些在亚马逊AWS上进行设置的人,确保您手动输入http://而不是点击仪表板上的默认链接。 我在Ubuntu 20上安装Apache后遇到了类似的问题。

我通过手动在浏览器中输入地址并确保地址为http://[IP_Address]来解决了这个问题,而不是点击亚马逊AWS提供的默认链接,因为默认链接具有https://。

最后,请确保您的安全组允许http(端口80)的入站和出站流量。

还要确保您已将安全组分配给正在运行的实例。

如果您尚未设置SSL,则该地址将无法打开,请确保在尝试打开默认地址时使用http://而不是https://。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接