【发布时间】:2013-06-30 12:25:37
【问题描述】:
我在 ubuntu 12.04 实例 t1.micro 上安装了一个应用程序码头
PUBLIC_DNS = ec2-54-225-24-215.compute-1.amazonaws.com
我能做到:
ssh ec2-54-225-24-215.compute-1.amazonaws.com
在实例中,我可以这样做:
curl localhost:8080 -- Success
curl 127.0.0.1:8080 -- Success
从开发桌面,我做到了:
ec2-authorize "quicklaunch-0" -P tcp -p 8080
GROUP quicklaunch-0
PERMISSION quicklaunch-0 ALLOWS tcp 8080 8080 FROM CIDR 0.0.0.0/0 ingress
当我尝试从浏览器连接时:
http://$PUBLIC_DNS:8080 or curl $PUBLIC_DNS:8080, it does not connect
curl: (7) couldn't connect to host
我可以从我的桌面连接到实例的 22 端口。
我的实例属于 quicklaunch-0
我错过了什么?请帮忙。
基于:EC2 hosted Node.js application - can't remotely connect to port
我确实尝试了各种其他端口并启动了新实例。似乎没有任何效果。
编辑:
当我运行 netstat -l 时,我的输出是:
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp6 0 0 127.0.0.1:8080 :::* LISTEN
FOREIGN 地址在这里有问题吗?
【问题讨论】:
-
您的应用程序可能没有监听正确的 IP。 Ec2 使用 NAT,直接分配给您的实例的 ip 是私有的。软件防火墙也会干扰。
-
我认为我的码头服务器有问题。我不认为这是一个 ec2 问题。调查完成后我会编辑
-
它似乎只在本地主机上监听。
-
thx...是的...这是个问题。我会做 man netstat 来学习