繁体   English   中英

无法通过HTTP连接到EC2实例

[英]Cannot connect to EC2 Instance through HTTP

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

这很令人尴尬,但是我无法连接到EC2实例的原因是因为我的node js应用程序从未真正启动过服务器让我监听端口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

可以检查ip-tables是否阻止80,检查安全组,如果PORT 80的TCP已打开您的IP地址或(0.0.0.0/0)。

鉴于您能够使用SSH而非HTTP,请检查是否可以在具有SSH 22配置的SG中复制相同的设置-还请检查网络服务器(或进程)是否已在PORT 80中启动并运行。

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

telnet INSTANCE_public_DNS_name 80

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM