我正在开发一个新网站,并且正在启动一个新的服务器。但是我遇到了一个以前从未遇到的问题。在服务器上安装了LAMP(Ubuntu 16.04),但我没有收到默认的Apache Ubuntu页面,而是出现了以下错误:
13.59.41.148 took too long to respond.
我以前使用Digital Ocean启动过许多LAMP服务器,但这是我第一次使用AWS EC2。可能有一些我在这个新主机上需要做但是错过了的事情吗?
我正在开发一个新网站,并且正在启动一个新的服务器。但是我遇到了一个以前从未遇到的问题。在服务器上安装了LAMP(Ubuntu 16.04),但我没有收到默认的Apache Ubuntu页面,而是出现了以下错误:
13.59.41.148 took too long to respond.
我以前使用Digital Ocean启动过许多LAMP服务器,但这是我第一次使用AWS EC2。可能有一些我在这个新主机上需要做但是错过了的事情吗?
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文档 - 安全组
亚马逊AWS解决方案
对于那些在亚马逊AWS上进行设置的人,确保您手动输入http://而不是点击仪表板上的默认链接。 我在Ubuntu 20上安装Apache后遇到了类似的问题。
我通过手动在浏览器中输入地址并确保地址为http://[IP_Address]来解决了这个问题,而不是点击亚马逊AWS提供的默认链接,因为默认链接具有https://。
最后,请确保您的安全组允许http(端口80)的入站和出站流量。
还要确保您已将安全组分配给正在运行的实例。
如果您尚未设置SSL,则该地址将无法打开,请确保在尝试打开默认地址时使用http://而不是https://。