我可以 SSH 到我的 EC2 实例并在其上启动 Web 服务器:
$ ssh -i ~/AWSKeyPair1.pem [email protected]
Last login: Mon Jul 20 18:50:58 2015 from 72-21-196-64.amazon.com
__| __|_ )
_| ( / Amazon Linux AMI
___|\___|___|
https://aws.amazon.com/amazon-linux-ami/2015.03-release-notes/
$ echo 'Hello world' > index.html
$ sudo service iptables status
iptables: Firewall is not running.
$ python -m SimpleHTTPServer 8888
Serving HTTP on 0.0.0.0 port 8888 ...
并从实例中卷曲它
$ curl 54.210.10.190:8888
Hello world
但curl
我的笔记本电脑出现故障
$ curl 54.210.10.190:8888
curl: (7) Failed to connect to 54.210.10.190 port 8888: Connection refused
为什么会这样?我的安全组设置为允许来自任何地方的所有流量(0.0.0.0/0
),并且我的路由表将所有流量路由到适当的网关。
(上一个问题)
答案1
确保已设置 AWS 安全组,以允许使用自定义 TCP 规则访问 0.0.0.0/0 端口 8888。
验证您的本地网络防火墙是否允许到端口 8888 的出站连接。
答案2
在我的情况下,在 aws 实例上运行的 python 服务器仅监听(并提供服务)localhost 或 127.0.0.1 / 接口。因此它将忽略来自外部的连接。对我来说,在 0.0.0.0 上启动 python 服务器是可行的。从您打印的输出来看,它似乎已经成功了 - 但可能值得一试或帮助其他人