【问题标题】:Problems connecting to public IP address from EC2 instance从 EC2 实例连接到公共 IP 地址时出现问题
【发布时间】:2017-03-12 04:57:18
【问题描述】:

我是设置应用程序的新手,目前在连接到我的 IP 地址时遇到问题。

最近,我启动了我的第一个 AWS 实例,在我将它附加到弹性 IP 之前它运行良好(尝试附加到我的 GoDaddy 域)。实例状态为“正在运行”,一切看起来都很健康,但是当我转到公共 IP/弹性 IP 时,我收到一条错误消息:“无法访问此站点。XX.XXX.XX.XXX 拒绝连接”。我使用的是 Mac,我的网络服务器正在侦听端口 80。

我检查过的东西:

  • 互联网连接正常
  • 未使用任何防火墙/杀毒软件
  • 清空所有缓存/cookies
  • 不使用代理服务器
  • 我的安全组

  • –入站端口80、8080、22和3389;

  • – 出站端口 8080,所有流量。

  • 我的 VPC

  • – 子网 ID 已验证且“可用”

  • – 路由表 172.31.0.0/16 和 0.0.0.0/0 处于“活动”状态,未传播

有人可以帮忙并指出我做错了什么吗?

【问题讨论】:

    标签: amazon-web-services deployment amazon-ec2 ip-address elastic-ip


    【解决方案1】:

    弹性 IP 地址附加到 Amazon EC2 实例不会更改实例本身的任何内容。这纯粹是在 Amazon VPC 中分配公共 IP 地址。

    Amazon EC2 实例通常不知道自己的公共 IP 地址。相反,发送到公共 IP 地址的流量会通过 Internet 网关路由,然后发送到实例的私有 IP 地址。只要您没有以某种方式在实例中配置旧的公共 IP 地址,弹性 IP 地址的分配应该不是问题。

    您可以删除弹性 IP 地址并再次尝试连接 - 实例将再次收到自动分配的 IP 地址(在您启动/停止实例时可能会更改)。

    你可以尝试的一些事情是:

    • 连接到同一子网中具有相同安全组的另一个实例。如果这可行,那么您就知道问题出在实例本身,而不是网络。
    • 尝试使用无响应实例的私有 IP 地址同一子网中的另一个实例连接到无响应实例。这将消除潜在的网络问题。

    尝试从 Internet 连接到 EC2 实例时要始终检查的标准事项是:

    • 互联网网关附加到 VPC
    • 您正在通过公共 IP 地址引用实例
    • 实例在公共子网中启动,这意味着子网与路由表相关联,该路由表路由到 Internet 网关
    • 安全组允许来自您的 IP 地址和端口的入站流量(出站流量配置无关紧要,因为安全组是有状态的)
    • 网络 ACL 不会阻止流量(默认情况下它允许所有入站和出站流量)
    • 实例监听端口(例如,Linux SSH 在端口 22,Windows RDP 在端口 3389)
    • 实例上没有基于主机的防火墙阻止流量(例如 Windows 防火墙)

    【讨论】:

      【解决方案2】:

      在关联弹性 IP 后,我总是在 AWS 上重新启动我的 Linux 服务器。通常我不会盲目地建议重新启动 Linux 服务器,但我发现它在这种情况下很有帮助。在重新启动之前,您应该考虑几件事。确保您没有专门在易失性存储上存储重要文件就是一个例子。

      Re“...当我转到公共 IP/弹性 IP...”你打算怎么去地址?听起来您正在尝试连接网络浏览器。

      • 您是否尝试过通过其他协议(如 ssh)从 Mac 进行连接?这将是确认您的弹性 IP 有效的另一种方式
      • 您是否尝试过更直接地连接到 Web 服务器?就像从服务器的 shell 中使用 wget 一样?您将使用私有 IP 地址或 localhost,因此这无助于诊断弹性 IP 地址。

      【讨论】:

      • 停止实例并再次启动。因为我尝试重启,问题依旧。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-07
      • 2014-09-16
      • 1970-01-01
      • 2020-04-29
      • 2020-03-12
      相关资源
      最近更新 更多