AWS EC2 实例网站无法在 AWS RDP 外部访问

AWS EC2 Instance website not reachable outside AWS RDP

提问人:Yasir 提问时间:10/31/2023 最后编辑:Yasir 更新时间:11/1/2023 访问量:97

问:

我有一个正在运行的(Windows 操作系统)Amazon EC2 实例。我可以使用 localhost 访问我的网站。但是,我无法从 AWS RDP 外部访问该网站。我正在使用公共DNS访问该网站。

已验证以下几点

  • 在安全组中,我为所有 IP 打开了 HTTP 和 HTTPS 的入站流量。
  • 我可以使用公共 DNS 从 RDP 外部 ping 此实例。
  • 添加防火墙入站规则以允许所有流量。

注意我的站点在重新启动 AWS 实例后只运行一次,然后就不运行了。

我不确定,在 AWS RDP 之外运行我的站点还需要什么。

已检查以下几点

  • 在安全组中,我为所有 IP 打开了 HTTP 和 HTTPS 的入站流量。
  • 我可以使用公共 DNS 从 RDP 外部 ping 此实例。
  • 添加防火墙入站规则以允许所有流量

我想在 AWS RDP 之外运行我的站点。 但现在我的网站在重新启动 AWS 实例后只运行一次。

站点 IIS 绑定:

https://i.stack.imgur.com/ugpxd.png

在 AWS RDP 中运行站点:

https://i.stack.imgur.com/dIHha.jpg

站点未在 AWS RDP 外部运行:

https://i.stack.imgur.com/gRFcF.png

AWS RDP 服务器 ping 成功:

https://i.stack.imgur.com/zL0ul.png

netstat HTTP:https://i.stack.imgur.com/UnK4L.png

netstat HTTPS:https://i.stack.imgur.com/y9hom.png

amazon-web-services IIS amazon-ec2 防火墙 RDP

评论

0赞 Marcin 10/31/2023
Windows 有自己的防火墙。你也解锁了吗?
0赞 Yasir 10/31/2023
是的,我也解锁了防火墙。
0赞 rrk 10/31/2023
EC2 实例网站中使用哪个 Web 服务器?
0赞 Yasir 10/31/2023
我使用了 Microsoft Web 服务器 Internet Information Services (IIS)。
0赞 jarmod 10/31/2023
可能与此错误有关。更一般地说,如果您的应用程序侦听 127.0.0.1(环回)而不是 0.0.0.0(所有接口),这就是您在 Linux 上会遇到的问题。

答:

2赞 Matthew Gillespie - Aviatrix 11/1/2023 #1

你覆盖了你最初的基地。以下是我个人接下来要做的事情:

在 Web 服务器上,检查 IIS 是否正在侦听端口 443 和 80。因为您可以在本地访问它,所以它是 - 但它可能只在环回中侦听。检查这一点的一种简单方法是使用 netstat。您可以通过以下方式对 HTTPS 执行此操作:

netstat -anot | findstr :443 | findstr LISTENING

对于 HTTP,通过:

netstat -anot | findstr :80 | findstr LISTENING

查看左列(TCP 旁边)是否显示服务器侦听环回 127.0.0.1 地址。您希望它在 0.0.0.0 或计算机的 IP 上侦听。

enter image description here

如果它正在侦听,我会在机器上的 Wireshark 中运行数据包捕获(如果可能),以确认 TCP SYN 正在发送给您。您可以使用显示过滤器(如“tcp.port==443 或 tcp.port==80 或 icmp”)来协助此测试。Ping 服务器,您应该会看到 ICMP 回显并回复。然后尝试 HTTP 连接,看看流量是否到达您的服务器。从那里,您可以确定故障的位置(即:流量没有到达您,或者如果它没有向上游查找,则可以到达)

祝你好运!

enter image description here

评论

0赞 Yasir 11/1/2023
我为 HTTP 和 HTTPS 添加了 netstat。
0赞 Matthew Gillespie - Aviatrix 11/2/2023
因此,您的 netstat 看起来不错 - 您正在所有可用接口 (0.0.0.0) 上监听 443 和 80。我会尝试使用 Wireshark 进行测试,看看数据包是否正在发送给您。另外,我看到您正在该主机上将 FileZilla 作为 FTP 服务器运行。我无法ping你的服务器,或通过HTTP或HTTPS点击它 - 但我可以访问FTP服务器:ftp test.signaturewebmedical.com Connected to test.signaturewebmedical.com。220-FileZilla Server 0.9.59 beta 您可以尝试将 ACL 中的端口 21 与 HTTP/HTTPS 规则进行比较。