无法从 AWS 外部通过 HTTP 连接到 EC2 实例
Can't connect to EC2 instance over HTTP from outside AWS
如果有什么不同,这是在AWS中国。
我有一个新的 EC2 实例。我几天前创建了它。它应该是 rails 应用程序的应用程序服务器。 Apache 已启动 运行,并且可以正常工作(curl localhost 有效)。当我从另一个 EC2 实例尝试时,它也响应正常(使用 EC2 内部 IP 地址)。
但是,如果我使用外部 IP 地址,它就不起作用。超时了。
我检查的内容:
- Apache 是 运行,它正在侦听 eth0 和本地主机。
- 实例中没有防火墙(默认 Amazon Linux 映像,iptables -L returns 所有 ACCEPT 策略,没有其他规则)。
- 安全组正确。它有全球允许的入站端口80和端口443的规则。
- 我正在修改的安全组确实应用于有问题的实例。我尝试从该安全组中删除 SSH 访问权限,但我与服务器的 SSH 连接中断了。再次添加访问权限,我能够通过 ssh 登录。所以安全组正在工作并应用规则。
- 我什至尝试在实例前设置一个负载均衡器。负载均衡器也无法访问该实例。
- 是的,我使用了正确的 IP 地址。我检查了一遍又一遍。
- 我尝试使用 public 主机名,它仍然不起作用(为什么会这样?),但它确认我有正确的 IP 地址,因为它确实在实例内部起作用(因为在 AWS 内部它指向内部 IP 地址。
我完全被这个难住了。这可能是我的一个非常愚蠢的错误,但我已经尝试了我能想到的一切。我用谷歌搜索并尝试了其他人所说的对他们有用的一切。我让同事调查了一下,他也没办法。
那么,有什么想法吗?我错过了什么?
谢谢!
编辑:一位同事提出了一些完全有道理的建议:如果我在不同的端口收听怎么办?那它行得通吗?事实证明确实如此。配置Apache监听9876端口,在安全组打开,当然可以了。所以它只是过滤了端口 80。
我的下一步是创建一个负载均衡器,它侦听端口 80 并将端口 9876 转发到实例。而且,当然,它不起作用。 LB连上实例,说上线了,但是我80端口上不了LB。所以好像AWS中国的80端口上什么也上不了,我这里还是完全卡死了。
我最终得到了另一种媒体的回应,但我想我会在这里分享它,以防其他有同样问题的人进入这个问题。
服务器所有者需要一个 ICP,他们有,但没有通过 AWS 中国进行身份验证。 ICP是中国政府授权企业经营网站的一种文件。
更多信息:https://www.amazonaws.cn/en/about-aws/china/faqs/#do-i-need-icp-recordal
如果有什么不同,这是在AWS中国。
我有一个新的 EC2 实例。我几天前创建了它。它应该是 rails 应用程序的应用程序服务器。 Apache 已启动 运行,并且可以正常工作(curl localhost 有效)。当我从另一个 EC2 实例尝试时,它也响应正常(使用 EC2 内部 IP 地址)。
但是,如果我使用外部 IP 地址,它就不起作用。超时了。
我检查的内容:
- Apache 是 运行,它正在侦听 eth0 和本地主机。
- 实例中没有防火墙(默认 Amazon Linux 映像,iptables -L returns 所有 ACCEPT 策略,没有其他规则)。
- 安全组正确。它有全球允许的入站端口80和端口443的规则。
- 我正在修改的安全组确实应用于有问题的实例。我尝试从该安全组中删除 SSH 访问权限,但我与服务器的 SSH 连接中断了。再次添加访问权限,我能够通过 ssh 登录。所以安全组正在工作并应用规则。
- 我什至尝试在实例前设置一个负载均衡器。负载均衡器也无法访问该实例。
- 是的,我使用了正确的 IP 地址。我检查了一遍又一遍。
- 我尝试使用 public 主机名,它仍然不起作用(为什么会这样?),但它确认我有正确的 IP 地址,因为它确实在实例内部起作用(因为在 AWS 内部它指向内部 IP 地址。
我完全被这个难住了。这可能是我的一个非常愚蠢的错误,但我已经尝试了我能想到的一切。我用谷歌搜索并尝试了其他人所说的对他们有用的一切。我让同事调查了一下,他也没办法。
那么,有什么想法吗?我错过了什么?
谢谢!
编辑:一位同事提出了一些完全有道理的建议:如果我在不同的端口收听怎么办?那它行得通吗?事实证明确实如此。配置Apache监听9876端口,在安全组打开,当然可以了。所以它只是过滤了端口 80。 我的下一步是创建一个负载均衡器,它侦听端口 80 并将端口 9876 转发到实例。而且,当然,它不起作用。 LB连上实例,说上线了,但是我80端口上不了LB。所以好像AWS中国的80端口上什么也上不了,我这里还是完全卡死了。
我最终得到了另一种媒体的回应,但我想我会在这里分享它,以防其他有同样问题的人进入这个问题。
服务器所有者需要一个 ICP,他们有,但没有通过 AWS 中国进行身份验证。 ICP是中国政府授权企业经营网站的一种文件。
更多信息:https://www.amazonaws.cn/en/about-aws/china/faqs/#do-i-need-icp-recordal