0

我已经阅读了很多关于这个主题的问题,但似乎没有一个问题能提供有帮助的答案,所以如果我错过了一个重复的帖子,请原谅我......

我设置了一个弹性 beanstalk 单实例应用程序。然后我确保它生成的 EC2 实例有一个安全组来允许端口 80 传入请求。然后我创建了一个弹性 ip 并将 EC2 实例与该 ip 相关联,但公共 dns 或弹性 ip 都不会响应 http 请求。

任何想法为什么这对我来说可能是一个问题?

4

4 回答 4

2

就我而言,问题是,即使我已将弹性 IP 与我的实例相关联并在新的安全组中创建了防火墙规则以提供访问权限,但我没有将我的新安全组与我的实例相关联。为了解决这个问题,我使用了实例屏幕中的更改安全组菜单:

在此处输入图像描述

这导致出现以下弹出窗口,果然,我的新安全组存在但与我的实例没有关联:

在此处输入图像描述

在我 (1) 选中相应的框并 (2) 单击分配安全组之后,一切都很好。

于 2016-11-28T20:29:56.330 回答
1

在经典-EC2 场景中:

  1. 确保您的 AWS 安全组中允许使用端口 80。
  2. 确保系统上基于本地操作的防火墙允许使用端口 80。或暂时禁用本地防火墙以缩小问题范围。
  3. 确保您的应用程序确实listening在端口 80 上。您可以通过运行telnet 127.0.0.1 80.

如果满足以上 3 点,我看不出您无法在端口 80 上访问您的应用程序的原因。

如果您使用的是 VPC 而不是经典 EC2,请告诉我们。

顺便说一句,当您附加弹性 IP 时,实例将丢弃它之前拥有的公共 DNS。所以现在你应该只使用弹性 IP。

于 2013-11-15T03:38:09.290 回答
1

我曾经遇到过弹性 IP 地址本身没有响应特定端口号的情况。当我将实例与不同的弹性 IP 相关联时,一切正常。所以我通过分配一个新的弹性 IP 地址解决了这个问题。 根本原因:亚马逊显然没有有效的内部流程来验证弹性 IP 的完整性。显然,考虑到可能发生的超出他们控制范围的事情,例如拒绝服务攻击等,这是一项艰巨的任务。

我花了一天的时间进行渐进式隔离才能做到这一点,否则我不会怀疑这一点。

于 2016-06-07T22:21:26.770 回答
0

有没有机会在机器上运行防火墙?我知道在 Windows 中,我通常需要在 Windows 防火墙和亚马逊的安全性上打开端口。

于 2013-11-15T02:50:53.793 回答