在Python-Flask服务器中设置主机IP列表

0 投票
1 回答
21 浏览
提问于 2025-04-12 19:49

我想设置一个主机(IP地址)列表,让我的Flask服务器可以在这些主机上监听。这样,如果主网口出现问题,其他的网口就能接管流量(算是一种简单的故障转移)。
在我的情况下,我有一个网络接口卡(NIC),它有4个端口,但只有2个端口可以被Flask使用,其他的必须保持私有(所以我不能设置 host='0.0.0.0')。

比如说,这是我现在的配置:

...
app = Flask(__name__, instance_relative_config=True)
app.run(debug=False, host='192.168.1.10', port=5000)

我想要得到这样的配置:

...
app = Flask(__name__, instance_relative_config=True)
app.run(debug=False, host='192.168.1.10,192.168.1.11', port=5000)

你有什么想法吗?

非常感谢!

1 个回答

1

Flask自带的服务器不适合用来做正式的工作,只能用来开发:

“生产环境”就是指“非开发环境”,这适用于你是把应用程序公开给成千上万的用户,还是只给一个人使用。在正式上线的时候,千万不要用开发服务器。它只适合在本地开发时使用,并不是为了安全、稳定或高效而设计的。 (文档)

如果你想要更好的效果,应该使用更强大的WSGI服务器,比如gunicorn,这样你就可以在多个地址上监听(假设你的代码在app.py中):

gunicorn app:app --bind 192.168.1.10:5000 --bind 192.168.1.11:5000

撰写回答