亚马逊AWS EC2端口:连接被拒绝

时间:2014-03-11 18:50:52

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

我刚刚在一个安全组后面的全新AWS账户上创建了一个EC2实例,并在其上加载了一些软件。我在端口4567(当前)上运行Sinatra,并在我的安全组中将该端口打开到全世界。此外,我能够进入EC2实例,但我无法连接端口4567.我正在使用公共IP连接:

shakuras:~ tyler$ curl **.***.**.***:22
SSH-2.0-OpenSSH_6.2p2 Ubuntu-6ubuntu0.1
curl: (56) Recv failure: Connection reset by peer
shakuras:~ tyler$ curl **.***.**.***:4567
curl: (7) Failed connect to **.***.**.***:4567; Connection refused

但是我的网络服务器正在运行,因为当我从localhost卷起时我可以看到该网站:

ubuntu@ip-172-31-8-160:~$ curl localhost:4567
Hello world! Welcome

我认为它可能是防火墙,但我运行了iptables并得到了:

ubuntu@ip-172-31-8-160:~$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

我对这里发生的事情感到十分迷茫。为什么我不能与外界联系?

4 个答案:

答案 0 :(得分:2)

您确定Web服务器正在侦听除localhost之外的其他接口吗? 检查输出 netstat -an | grep 4567

如果它没有在0.0.0.0上收听,那就是原因。

答案 1 :(得分:2)

您正在根据您的netstat命令监听127.0.0.1。这就是输出应该是这样的:

tcp        0      0 :::8080                     :::*                        LISTEN

你能发布你的Sinatra配置吗?你用什么来开始呢?

答案 2 :(得分:2)

这听起来像是Sinatra绑定的问题。可以查看关于将Sinatra绑定到所有IP地址的thisthis甚至this链接。

答案 3 :(得分:0)

这不适用于简单的Amazon AMI,安装如http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-install.html

所示

步骤1,2,3工作(代理安装和启动恶魔)如图所示

[ec2-user@ip-<ip> ~]$ curl http://localhost:51678/v1/metadata
curl: (7) Failed to connect to localhost port 51678: Connection refused

infact netstat显示了一些监听tcp端口,但是一个能够连接,绝对不是51678 tcp。

相关问题