我已经阅读了很多关于这个主题的问题,但似乎没有一个问题能提供有帮助的答案,所以如果我错过了一个重复的帖子,请原谅我......
我设置了一个弹性 beanstalk 单实例应用程序。然后我确保它生成的 EC2 实例有一个安全组来允许端口 80 传入请求。然后我创建了一个弹性 ip 并将 EC2 实例与该 ip 相关联,但公共 dns 或弹性 ip 都不会响应 http 请求。
任何想法为什么这对我来说可能是一个问题?
我已经阅读了很多关于这个主题的问题,但似乎没有一个问题能提供有帮助的答案,所以如果我错过了一个重复的帖子,请原谅我......
我设置了一个弹性 beanstalk 单实例应用程序。然后我确保它生成的 EC2 实例有一个安全组来允许端口 80 传入请求。然后我创建了一个弹性 ip 并将 EC2 实例与该 ip 相关联,但公共 dns 或弹性 ip 都不会响应 http 请求。
任何想法为什么这对我来说可能是一个问题?
在经典-EC2 场景中:
listening
在端口 80 上。您可以通过运行telnet 127.0.0.1 80
.如果满足以上 3 点,我看不出您无法在端口 80 上访问您的应用程序的原因。
如果您使用的是 VPC 而不是经典 EC2,请告诉我们。
顺便说一句,当您附加弹性 IP 时,实例将丢弃它之前拥有的公共 DNS。所以现在你应该只使用弹性 IP。
我曾经遇到过弹性 IP 地址本身没有响应特定端口号的情况。当我将实例与不同的弹性 IP 相关联时,一切正常。所以我通过分配一个新的弹性 IP 地址解决了这个问题。 根本原因:亚马逊显然没有有效的内部流程来验证弹性 IP 的完整性。显然,考虑到可能发生的超出他们控制范围的事情,例如拒绝服务攻击等,这是一项艰巨的任务。
我花了一天的时间进行渐进式隔离才能做到这一点,否则我不会怀疑这一点。
有没有机会在机器上运行防火墙?我知道在 Windows 中,我通常需要在 Windows 防火墙和亚马逊的安全性上打开端口。