无法通过HTTP连接到EC2实例

时间:2014-12-16 07:54:25

标签: linux amazon-web-services amazon-ec2

我在使用EC2实例通过HTTP访问我的网站时遇到问题。我尝试通过在端口80上允许HTTP来更改安全设置,但它仍然无法正常工作。但是SSH工作正常。可能是什么问题?

3 个答案:

答案 0 :(得分:1)

这很令人尴尬,但我无法连接到我的EC2实例的原因是因为我的节点js app从未实际启动过服务器让我在端口80上侦听。

添加这个简单的代码片段

var server = app.listen(8080, function () {

  var host = server.address().address
  var port = server.address().port

  console.log('Example app listening, host, port)

})

这个用于重定向的shell命令修复了问题。

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to 8080

答案 1 :(得分:0)

如果ip-tables阻塞80,可以检查ip-tables,如果PORT 80的TCP对你的IP地址开放,则检查安全组,或者(0.0.0.0/0)。

鉴于您能够SSH而不是http,请检查您是否可以在具有SSH 22配置的SG中复制相同的设置 - 同时请查看Web服务器(或进程)是否已启动并运行PORT 80。

答案 2 :(得分:0)

首先,登录该实例,然后运行命令确认http服务正在运行。

telnet INSTANCE_public_DNS_name 80

然后为远程计算机运行相同的命令以确认是否存在任何防火墙问题。

如果telnet出现问题,请点击实例名称,然后转到description - >安全组 - >查看规则。

您应该看到端口已打开。如果没有,请创建新的安全组或编辑现有的安全组,并分配给该实例。