为什么 Flask 公共服务器没有接收请求?



我正在尝试在windows 10机器上设置服务器,使用Python和Flask,但它不响应外部请求。

这是我的server.py文件:

from flask import Flask
app = Flask(__name__)
@app.route("/")
def index():
return "Hi there"
if __name__ == "__main__":
app.run(host="0.0.0.0", port=5000)

运行时显示:

* Running on all addresses (0.0.0.0)
WARNING: This is a development server. Do not use it in a production deployment.
* Running on http://127.0.0.1:5000
* Running on http://195.XX.XXX.XXX:5000 (Press CTRL+C to quit)

事实上,如果我尝试从那台机器访问它,使用127.0.0.1:5000195.XX.XXX.XXX:5000,它工作正常。

然而,当试图从另一台机器访问它时,(使用Chrome,如果这可能是一个问题),它只是无限期地加载,然后说没有收到数据,ERR_EMPTY_RESPONSE

这是怎么回事?我已经按照文档上的步骤进行了操作,所以我不知道哪里出错了。

我还完全禁用了windows 10机器上的防火墙。

你的跑步方式很重要。如果是通过

python server.py

app.run()将执行,服务器将绑定到0.0.0.0

但是如果你通过

的变体运行
FLASK_APP=server.py flask run

app.run()不会执行,服务器将绑定到127.0.0.1

在这种情况下,添加--host=0.0.0.0应该解决问题(除非您有防火墙问题)。

最新更新