我不确定这是否是Flask专用的,但是当我在开发人员模式(http://localhost:5000)中运行应用程序时,无法从网络上的其他计算机(使用http://[dev-host-ip]:5000)访问它。例如,在开发模式下使用Rails时,它可以正常工作。我找不到有关Flask开发服务器配置的任何文档。任何想法应该配置为启用此功能吗?
我不确定这是否是Flask专用的,但是当我在开发人员模式(http://localhost:5000)中运行应用程序时,无法从网络上的其他计算机(使用http://[dev-host-ip]:5000)访问它。例如,在开发模式下使用Rails时,它可以正常工作。我找不到有关Flask开发服务器配置的任何文档。任何想法应该配置为启用此功能吗?尽管这是可能的,但你不应在生产中使用Flask dev服务器。Flask开发服务器的设计并非特别安全,稳定或高效。有关正确的解决方案,请参阅有关部署的文档。
将参数添加到中app.run()。默认情况下,它在本地主机上运行,将其更改app.run(host= '0.0.0.0')为在你的计算机IP地址上运行。
app.run()
app.run(host= '0.0.0.0')
在快速入门页上的“外部可见的服务器”下的Flask网站上记录:
外部可见服务器
如果运行服务器,你会注意到该服务器仅可用于你自己的计算机,而不能用于网络中的任何其他服务器。这是默认设置,因为在调试模式下,应用程序的用户可以在计算机上执行任意Python代码。如果禁用了调试或信任网络上的用户,则可以使服务器公开可用。
只需将run()方法的调用更改为如下所示:
app.run(host='0.0.0.0')
这告诉你的操作系统侦听公共IP。