我正在使用 AWS Linux 运行 EC2 实例。端口 8888 上有一个网站正在运行,因此如果我从运行的 VMcurl "http://127.0.0.1:8888/login"
接收该网站。
我想从外部访问它,因此在附加到实例的安全组中设置了一条规则:
Custom TCP Rule TCP 8888 0.0.0.0/0
当我尝试从浏览器或命令行访问它时,出现超时
curl "http://xx.yy.zz.ff:8888/login"
附加到实例的弹性 IP在哪里xx.yy.zz.ff
(我使用它通过 SSH 连接到 VM)。
http://localhost:8888/login
有趣的是,如果我先进行 SSH 隧道连接,我就可以访问它:
ssh -i my-key.pem -NL 8888:localhost:8888 [email protected]
如果我执行 sudo netstat -tulpn 我得到
tcp 0 0 127.0.0.1:8888 0.0.0.0:* LISTEN 26531/python
如果我do sudo ss -aut | grep 8888
什么也得不到。
有任何想法吗?
答案1
tcp 0 0 127.0.0.1:8888 0.0.0.0:* LISTEN 26531/python
好吧,这就是你的答案。你的网络服务器(python 进程)只监听你的本地主机接口。因此,你要么需要重新配置它以监听你的 EC2 的外部网络接口或者安装 nginx 用作反向代理。