我目前正在尝试使用 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 地址运行:
但当我尝试从代码中更改它时却没有
您应该将主机设置为
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