提问人:Yasir 提问时间:10/31/2023 最后编辑:Yasir 更新时间:11/1/2023 访问量:97
AWS EC2 实例网站无法在 AWS RDP 外部访问
AWS EC2 Instance website not reachable outside AWS RDP
问:
我有一个正在运行的(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
答:
你覆盖了你最初的基地。以下是我个人接下来要做的事情:
在 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 上侦听。
如果它正在侦听,我会在机器上的 Wireshark 中运行数据包捕获(如果可能),以确认 TCP SYN 正在发送给您。您可以使用显示过滤器(如“tcp.port==443 或 tcp.port==80 或 icmp”)来协助此测试。Ping 服务器,您应该会看到 ICMP 回显并回复。然后尝试 HTTP 连接,看看流量是否到达您的服务器。从那里,您可以确定故障的位置(即:流量没有到达您,或者如果它没有向上游查找,则可以到达)
祝你好运!
评论