我已经阅读了很多关于这个主题的帖子,但似乎没有提供有帮助的答案,所以请原谅我重复的帖子,如果我错过了一个......
我设置了一个弹性beanstalk单实例应用程序。然后我确保它生成的EC2实例有一个安全组来允许端口80传入请求。然后我创建了一个弹性ip并将EC2实例与ip相关联,但是公共DNS或弹性ip都不会响应http请求。
为什么这对我来说可能是一个问题?
答案 0 :(得分:2)
就我而言,问题在于,即使我将弹性IP与我的实例相关联,并在新安全组中创建防火墙规则以提供访问权限, 我还没有关联我的我的实例的新安全组 。要解决此问题,我使用了 Instances 屏幕中的更改安全组菜单:
这会导致出现以下弹出窗口,确切地说,我的新安全组已存在,但与我的实例无关联:
在我(1)选中相应的框并且(2)点击分配安全组之后,一切都很顺利。
答案 1 :(得分:1)
在classic-EC2场景中:
listening
。您可以通过运行telnet 127.0.0.1 80
来检查此问题。如果满足以上3分,我看不出您无法在端口80上访问您的应用程序的原因。
如果您使用的是VPC而不是classic-EC2,请告诉我们。
顺便说一句,当你附加弹性IP时,实例将丢弃它之前的公共DNS。所以现在你应该只使用弹性IP。
答案 2 :(得分:0)
机器上是否还有防火墙运行?我知道在Windows中我通常需要打开Windows防火墙上的端口以及亚马逊的安全性。
答案 3 :(得分:0)
我遇到过弹性IP地址本身没有响应特定端口号的情况。当我将实例与不同的弹性IP相关联时,一切正常。所以我通过分配一个新的弹性IP地址解决了这个问题。 根本原因:亚马逊显然没有有效的内部流程来验证弹性IP的完整性。显然,考虑到可能发生的事情,拒绝服务攻击等等,这是一个很高的命令。
我花了一天时间进行逐步隔离才能达到这个目标,这是我从未怀疑过的。