无法通过HTTP / HTTPS

时间:2018-05-01 03:52:48

标签: amazon-web-services amazon-ec2

我最近不得不完全重建我的AWS EC2环境,因为我不小心删除了SSH密钥,认为它是其他东西。不幸的是,我无法访问我已确认在该EC2实例上运行的Tomcat实例。

我为入站HTTP流量添加了以下安全组:

Type.            Protocol  Port Range       Source
HTTP             TCP       80               0.0.0.0/0
HTTP             TCP       80               ::/0
Custom TCP Rule  TCP       8080             0.0.0.0/0
Custom TCP Rule  TCP       8080             ::/0
SSH              TCP       22               (my IP address)

我有三个安全组,上述规则已添加到名为default的组:

rds-launch-wizard
launch-wizard-1
**default

我通过AWS购买了一个域名,我使用Route 53指向了这个EC2实例。以前,DNS可用,但现在却没有。但是,这里有一个更大的根本问题,因为我甚至无法ping我的EC2实例的公共IP。

我实际上能够通过端口22上的SSH访问我的EC2实例,这就是为什么我能够设置Java和Tomcat(我已经确认它们都在运行)。

怀疑我先前配置中的某些状态是造成这个问题的原因,但我甚至不知道从哪里开始寻找东西。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

要获得EC2的入站/出站互联网访问权限,您需要查找三件事:

  1. 您是否可以通过互联网网关(IGW)从外部或内部SSH进行SSH?如果您可以从外部SSH,那么您已经正确设置了IGW。否则,请确保您的子网的路由表指向IGW,方法如下所示:
  2. 0.0.0.0/0 igw-efxxxxxxx Active No

    1. 网络ACL:转到您的EC2的子网并找到其关联的NACL 通过添加如下规则来创建入站和出站规则以允许上述NACL的流量:
    2. 100 ALL Traffic ALL ALL 0.0.0.0/0 ALLOW

      1. 安全组:您的安全组看起来不错。那里不需要改变。 但是,基于您在下面做出的评论,看来,您确实定义了具有正确入站规则的安全组,无论出于何种原因您未将该安全组与您的EC2实例相关联。因此,您定义的入站规则未被应用。要解决此问题,请从EC2实例标记访问以下内容:
      2. Actions -> Networking -> Change Security Groups

        然后,通过选中相应的框,将您的安全组与您的实例相关联。进行这些更改后,您的入站规则应该生效,您应该能够访问在EC2上运行的Tomcat实例。