我正在尝试在 Ubuntu VM 上运行一个简单的 flask 服务器。
我可以通过 ssh 进入它,[email protected]
但如果我执行,curl 123.456.789:8000
我会得到一个操作超时,即使服务器正在监听:
* Serving Flask app "app.py"
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: off
* Running on http://127.0.0.1:8000/ (Press CTRL+C to quit)
我的iptables -vnL
输出如下:
Chain INPUT (policy ACCEPT 11434 packets, 8571K bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:8000
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 7590 packets, 4856K bytes)
pkts bytes target prot opt in out source destination
所以端口 8000 应该没问题。在上面lsof
我也可以看到它:
flask 16268 robin 3u IPv4 167958 0t0 TCP 127.0.0.1:8000 (LISTEN)
我以前并没有真正这样做过,所以这可能是一个愚蠢的错误,但你能想到这里可能还存在什么错误吗?
答案1
python/flask 应用程序正在监听 127.0.0.1,因此限制对本地主机的访问。
让它监听特定的 IP 或 0.0.0.0,这取决于您的需要。