ec2 实例连接超时但可以 ping 通

ec2 实例连接超时但可以 ping 通

我见过许多类似的问题,但没有像这样的。

因此,我启动了一个 ec2 实例,并在其上安装了 apache、Wordpress 等。我能够使用提供给我的公共 IP 顺利访问所有内容。

然后我在路由 53 上创建了一个托管区域,将我的域重定向到此实例。这可行,但我想创建一个弹性 IP 与我的实例关联。

一旦关联,我就无法再访问我的实例。

我可以 ping 和 ssh 到我的实例,没有任何问题。但是,当使用浏览器访问弹性 IP 或公共 DNS 时,它会挂在那里几秒钟并显示连接超时。安全规则允许所有 HTTP https ssh ICMP 等。

我以为这可能是服务器的问题,但是当我 ssh 到实例时,它显示 httpd 运行良好。

我已经删除了托管空间,获取了一个新的弹性 IP 来关联,重新启动了实例,但服务器始终无法访问。除非创建新实例。

所以我被困在这里,希望得到任何可能的帮助。如果有帮助的话,这是实例 ID:i-09fcc30eb8776b7fe

谢谢

编辑:附加我的实例和安全组规则的屏幕截图

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

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

对于安全组规则,当我选择源为“任何地方”时,它会自动填充 0.0.0.0/0::/0,下次我进入时它会变成 2 条规则。

答案1

在 Tim 的建议下,我运行了 curl -i address,发现显示 301 已永久移动。

仔细检查后发现,当我访问新的公共 dns/弹性 ip 时,它仍在尝试连接我的旧公共 ip,但失败了。

我根据图像创建了一个新实例,但是当访问新实例公共 IP/弹性 IP 时,它仍尝试连接到旧的公共 IP。

最后我完全从头创建了一个新实例。这次我首先关联弹性 IP,然后将域重定向到实例,一切正常。

(目前浏览器仍然无法访问我的域名,因为我认为 IP 已被缓存。以私人/隐身模式打开后,我发现它可以正常工作。)

答案2

为了允许实例通过互联网上的特定端口访问,您必须考虑以下事项。

  1. 确保实例具有公共 IP 地址,这可以是您的弹性 IP 或您在实例启动时选择由 Amazon 提供的动态公共 IP。
  2. 实例安全组必须允许来自互联网的特定端口,其中源分别为 0.0.0.0/0(对于 IPv4)和 ::/0(对于 IPv6)
  3. 如果您使用 NACL,那么您还应该允许特定的入站端口,并允许出站中的临时端口范围。这是因为 NACL 是无状态的。请在此处查看为您的 VPC 推荐的 NACL 规则

  4. 最后,您必须确保启动此实例的子网具有到互联网网关 (IGW) 的路由。您可以查看与子网关联的路由表条目。

相关内容