我已经在EC2上进行了几天的试验,并且一直在反对我甚至能够访问我托管的示例网站。堆栈是Rails 3.1.3,带有Thin和Nginx。
我尝试了几种不同的配置,最后运行了Nginx自动安装脚本,当我进行卷曲http://ec2-107-20-143-179.compute-1.amazonaws.com/时,它会返回一个网页。但是,当我将浏览器指向那里时,它会在说找不到页面之前永远挂起。
我已分配弹性IP地址,并且已通过端口80启用HTTP访问。
我对系统管理员方面的经验不多,而且我现在基本上都难过了。任何建议都将不胜感激。
答案 0 :(得分:115)
您是否为所有ips启用了http端口?这将通过以下方式完成:
EC2 - >安全组 - >默认(或您的客户) - >入境
然后为HTTP创建新规则并作为源,您应该分配:0.0.0.0/0
应该这样做。
答案 1 :(得分:37)
认为AWS UI可能已经更新,但基于Deleteman的答案
正如Deleteman所提到的,您可能需要更改您的安全组......
答案 2 :(得分:25)
我之前在这里寻找解决我遇到的类似问题的方法。在我的情况下,除了EC2安全组之外,EC2实例还运行了自己的防火墙。命令'system-config-firewall'让我进入打开端口。默认情况下,端口80(HTTP)和3306(MySQL)未打开。 22(SSH)开放了。我还必须做'yum install system-config-firewall'。
总结一下,我的解决方案是:
> yum install system-config-firewall
> system-config-firewall
答案 3 :(得分:19)
这个答案适用于那些不知道他们用ec2实例做什么的新手。
我遇到了同样的问题并尝试了所有安全组修复无效。
事实证明,我需要从命令行打开我的服务器。
sudo service httpd start
有时它很暗,不是因为保险丝烧坏了,而是因为你没有轻弹开关。
答案 4 :(得分:7)
我也在努力解决同样的问题,也创建了安全组,但没有应用到实例。只需为http创建新规则。并从右键单击实例应用并选择安全组并进行分配。
答案 5 :(得分:4)
我在使用 ubuntu EC2 实例时多次遇到同样的问题,在这里我添加了所有帮助我在不同情况下解决问题的方法。
答案 6 :(得分:3)
八达通的答案对我来说是正确的,除了Windows机器。 我需要转到Windows防火墙,如果它与规则不匹配,则会阻止VM的所有流量。端口80未在规则中启用,因此我只需添加一个。
答案 7 :(得分:2)
对我来说,这就像在浏览器上将 url 从 https://my-site
更改为 http://my-site
一样简单。 (此解决方案仅适用于仍然可以通过 SSH 连接到 ec2 实例但无法通过浏览器连接的人)
答案 8 :(得分:1)
我非常愚蠢,因为我忘了安装 web服务器(HTTP服务器)因为我的ec2实例公共IP无法正常工作。回答这个问题也可能是我不应该错过的原因之一。
您可以安装
<强> nginx的:强>
sudo apt-get install nginx
<强> apache2的:强>
sudo apt-get install apache2
答案 9 :(得分:0)
我有同样的问题,因为我没有使用Ubuntu或Linux的经验,所以我的脑子很糟糕。 Parag的答案修正了它。
我非常愚蠢,因为我忘记安装Web服务器(HTTP服务器)因为我的ec2实例公共IP无法正常工作。回答这个问题也可能是我不应该错过的原因之一。
您可以安装
nginx的:
sudo apt-get install nginx
apache2的:
sudo apt-get install apache2
答案 10 :(得分:0)
我知道这是一个非常老的线程,但是最近在许多服务中都遇到了这个问题。当您通过端口示例3000运行任何应用程序服务器(如Puma或Unicorn)时,没有诸如Nginx的负载均衡器或代理。您必须遵循两个步骤:
答案 11 :(得分:0)
我的问题是浏览器。
Chrome 工作正常; Firefox 不工作。
答案 12 :(得分:0)
当我尝试在 EC2 上运行我的 go 应用程序时,我遇到了非常相似的情况。如果您在浏览器上看不到适当的消息或结果,即使您:
curl
可以很好地得到响应,npm app.js
、go run .
等)确保您在浏览器中输入了 http://ec2-...
,而不是 https://ec2-...
。即使您打开了 443 端口,您也无法使用 https://
连接到服务器, 除非您已经配置了 ssh 证书。使用 http
协议输入完整地址,不要省略它,可能会解决问题。
答案 13 :(得分:-2)
当我尝试从浏览器访问公共 IP 时,我的 Windows Ec2 实例无法访问。在检查完上述所有内容后,我必须更新阻止传入流量的 Windows (Defender) 防火墙设置。