我有一个 Amazon Web Services EC2 实例,上面有一个 Windows Server 2012 AMI。我已在其上安装了 XAMPP,并从 XAMPP 控制面板启动了 apache 服务器。它启动成功。
此外,在 AWS 仪表板中,我已向实例的相关安全组添加了规则,如链接图像中所述(我的声誉还不足以发布图像):
我已经用此图像中的实际源 ip 设置替换了入站流量xxx.xxx.xxx.xxx/32
,但它设置为我尝试建立 http 连接的 ip,所以我不确定为什么我无法建立 http 连接? 我也尝试通过指定 ip 允许来自所有来源的通过端口 80 的入站 HTTP 流量,但0.0.0.0/0
问题相同。
我正在尝试通过浏览器建立 http 连接,只需使用 AWS 实例公共 dns/ip,例如
http://myAWSinstancedns.compute.amazonaws.com
或者
http://myAWSinstancedns.compute.amazonaws.com/xampp/splash.php
当使用 localhost 在 AWS 实例内部尝试执行相同操作时,它可以工作,但从外部则不行。
有人知道吗?
答案1
听起来 Apache 可能配置为仅接受来自本地主机的连接。您是否尝试过通过公共地址从托管服务器访问网站?此外,为了进行测试,我可能会重新设置 0.0.0.0/0 规则,直到您找出问题所在。简单!
答案2
- 在同一个子网和同一个安全组上创建第二个实例,看看是否可以访问 http 服务器。如果可以,则表明存在安全组或 ACL 问题。如果不能,则
- 检查 http 服务器是否接受 0.0.0.0/0 或仅 127.0.0.1 (localhost) 上的连接。一个允许它仅接受本地连接,而另一个允许它接受传入连接。