我正在尝试进行一些开发。我创建了一个 python flask,在 raspberry pi 上运行(它也运行 pi-hole)。
我可以使用 curl 在本地访问 flask 应用程序。
curl http://127.0.0.1:5000/
>Hello, World!pi@hole:~/piapi/app $
但我无法从网络上的另一台主机访问它:
curl http://192.168.0.2:5000
>curl: (7) Failed to connect to 192.168.0.2 port 5000: Connection refused
我以为是端口被堵塞了,但是:
netstat -tupln | grep ':5000'
>tcp 0 0 127.0.0.1:5000 0.0.0.0:* LISTEN 30171/python3
在我看来这没什么问题~,我可以访问在端口 80 上运行的 pi-hole Web 应用程序。我做错了什么?为什么我无法访问端口 5000 上的 flask 应用程序?
答案1
我误解了 flask 的工作原理。我从命令行运行 flask flask run
,并忽略了 python 文件中的主机设置。使用以下命令运行应用程序:
flask run --host=0.0.0.0