无法通过HTTP从外部AWS连接到EC2实例

时间:2015-04-02 21:22:39

标签: linux amazon-web-services amazon-ec2

如果它有所不同,这是在AWS中国。

我有一个新的EC2实例。我几天前创建了它。它应该是rails应用程序的应用程序服务器。 Apache启动并运行,它可以工作(卷曲localhost工作)。当我从另一个EC2实例尝试时,它也会响应OK(使用EC2内部IP地址)。

但是,如果我使用外部IP地址,它不起作用。它超时了。

我检查过的事情:

  • Apache正在运行,它正在监听eth0以及localhost。
  • 实例中没有防火墙(默认的Amazon Linux映像,iptables -L返回所有ACCEPT策略,没有其他规则)。
  • 安全组是正确的。它有适用于全世界的入站端口80和端口443的规则。
  • 我修改的安全组确实应用于有问题的实例。我尝试从该安全组中删除SSH访问,并且我与服务器的ssh连接中断了。再次添加了访问权限,我能够进入ssh。因此,安全组正在运行并应用规则。
  • 我甚至尝试在实例前面设置负载均衡器。负载均衡器也无法到达实例。
  • 是的,我使用了正确的IP地址。我一遍又一遍地检查了它。
  • 我尝试使用公共主机名,它仍然无法工作(为什么要这样做?),但它确认我有正确的IP地址,因为它确实可以在实例内部工作(因为在AWS内部它指向内部IP地址)。

我完全不知道这件事。可能这对我来说是一个非常愚蠢的错误,但我已经尝试过我能想到的一切。我用Google搜索并尝试了其他人说过为他们工作的一切。我有一个同事看着它,他也无法使它发挥作用。

那么,有什么想法吗?我错过了什么?

谢谢!

编辑:一位同事提出了一些有意义的事情:如果我在另一个港口听,怎么办?那会有用吗?事实证明它确实如此。配置Apache在端口9876中侦听,在安全组中打开它,当然,它可以工作。所以它只是被过滤的80端口。 我的下一步是创建一个负载均衡器,它侦听端口80并转发到端口9876到实例。而且,当然,它不起作用。 LB在线连接到实例,但我无法通过端口80到达LB.所以我似乎无法在端口80上访问AWS China上的任何内容,而且我&# 39; m仍然完全被封锁了。

1 个答案:

答案 0 :(得分:4)

我最终得到了另一种媒介的反应,但我想我会在这里分享,以防其他有同样问题的人徘徊在这个问题上。

服务器所有者需要ICP,但他们没有通过AWS China进行身份验证。 ICP是某种文件,中国政府授权企业运营网站。

更多信息:https://www.amazonaws.cn/en/about-aws/china/faqs/#do-i-need-icp-recordal