无法通过公共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