无法通过公共IP访问EC2实例上的站点
我一直在EC2上试验了几天,甚至连访问我所托pipe的示例站点也一直在抨击我的头脑。 Rails 3.1.3与Thin和Nginx一起使用。
我已经尝试了几种不同的configuration,最后运行了Nginx的自动安装脚本,当我做一个curl时,它返回一个网页http://ec2-107-20-143-179.compute-1.amazonaws.com/ 。 但是,当我将浏览器指向该页面时,它会永久挂起,然后说无法find该页面。
我已经分配了弹性IP地址,并且已经通过端口80启用HTTP访问。
我对系统pipe理员方面的经验并不多,而且我基本上在这一点上难倒了。 任何build议将不胜感激。
你是否启用了http端口到所有ips? 这将通过去做:
EC2 – >安全组 – >默认(或你自己的) – >入站
然后为HTTP创build一个新的规则,并作为一个源,你应该指定:0.0.0.0/0
这应该做到这一点。
认为AWS UI可能已经更新,但基于Deleteman的答案
- login到EC2仪表板
- 实例>实例
- 操作下拉菜单>networking连接>更改安全组
- 你可能会看到,你只有启动向导-1允许我只允许SSH端口22访问
所以,如Deleteman所述,您可能需要更改您的安全组
- login到EC2仪表板
- networking和安全>安全组
- 删除可能在search框中显示所有组的所有filter
- 我个人编辑默认的VPC安全组,因为这是一个沙箱,我想你会想为你的项目创build一个安全组
- select安全组checkbox,select操作下拉菜单,然后点击“编辑入站规则”,我使用了下面的入站规则,以确保它是所有的工作
- 当您重新访问实例>实例>描述时,您应该看到安全组和规则
- 一旦你开心,它的工作,我可能会用HTTP和HTTPSreplace所有的stream量,如果这是所有需要的
我之前在这里正在寻找解决我遇到类似问题的方法。 原来在我的情况下,EC2实例除了EC2安全组之外,还有自己的防火墙。 命令“system-config-firewall”让我打开端口。 默认情况下,端口80(HTTP)和3306(MySQL)未打开。 22(SSH)开放。 我也必须做'yum install system-config-firewall'。
总而言之,我的解决scheme是:
> yum install system-config-firewall > system-config-firewall
这个答案适用于那些不知道他们在做ec2实例的新手们。
我有同样的问题,并尝试所有的安全组修复无济于事。
事实certificate,我需要从命令行打开我的服务器。
sudo service httpd start
有时候是黑暗的,不是因为保险丝熔断,而是因为没有按下开关。
我也在同样的问题上挣扎着创build了安全组,但没有应用到实例中。 只需为http创build新的规则。 并从右键单击实例并select安全组并分配它。
八达通的答案对我来说是正确的,除了Windows机器。 我需要去Windows防火墙,阻止所有stream量的虚拟机,如果它不符合规则。 80端口没有启用的规则,所以我只需要添加一个。
我忘记安装Web服务器 (HTTP服务器),因为我的EC2实例公共IP不工作,我很愚蠢。 回答这个问题也是我不应该像以前那样思考的原因之一。
你可以安装,
nginx的:
sudo apt-get install nginx
apache2的:
sudo apt-get install apache2
我有同样的问题,因为我没有使用Ubuntu或Linux的经验,所以一直困扰着我的大脑。 Parag的答案修正了它。
我忘记安装Web服务器(HTTP服务器),因为我的EC2实例公共IP不工作,我很愚蠢。 回答这个问题也是我不应该像以前那样思考的原因之一。
你可以安装,
nginx的:
sudo apt-get install nginx
apache2的:
sudo apt-get install apache2