Flask 服务器 IP 固定为 127.0.0.1

问题描述 投票:0回答:1

我目前正在尝试使用 sqlite 数据库创建一个 Flask 服务器。问题是,我无法让它在 127.0.0.1 以外的 IP 上运行。我尝试过 0.0.0.0、192.168.1.222 等

有谁知道为什么我无法通过代码更改端口或IP地址?

我尝试改变主要:

if name == 'main': app.run(调试= True,主机=“192.168.1.222”,端口= 5000)

但它不在乎。话虽如此,如果我使用以下命令从终端运行相同的程序: 烧瓶运行-h 0.0.0.0 它使用 2 个 IP 地址运行:

但当我尝试从代码中更改它时却没有

flask server ip
1个回答
0
投票

您应该将主机设置为

0.0.0.0
更改默认值
127.0.0.1
并将其开放给非本地连接。

它将在所有公共地址中运行应用程序,包括

127.0.0.1
和您在网络上机器的IP地址,就像您已经说过的:
192.168.1.222

来自烧瓶文档

如果您运行服务器,您会发现该服务器只能从您自己的计算机访问,而不能从网络中的任何其他计算机访问。这是默认设置,因为在调试模式下,应用程序的用户可以在您的计算机上执行任意 Python 代码。

如果您禁用了调试器或信任网络上的用户,则只需在命令行中添加 --host=0.0.0.0 即可使服务器公开可用:

$ flask run --host=0.0.0.0

这告诉您的操作系统侦听所有公共 IP。

请注意,您可能还需要制定防火墙规则以允许外部访问该端口。如果您是 ubuntu 用户:

sudo ufw allow 5000/tcp
© www.soinside.com 2019 - 2024. All rights reserved.