【发布时间】:2014-09-29 14:49:35
【问题描述】:
我们用python开发了一个应用程序,并正在使用flask通过http请求公开它的api。
- 所有这些都在 WINDOWS 上 -
一切正常,我们在内部进行了测试,没有出现任何问题,现在我们正在尝试在现实世界中使用该应用程序 - 我们已经让我们的 IT 部门为我们提供了一个面向公众的 IP/端口地址(通过防火墙??),现在我们根本无法访问服务器/应用程序。
经过一番挖掘,我们发现问题与Windows防火墙配置有关,开启时无法正常工作,关闭时一切正常。
flask 应用代码运行如下:app.run(debug=False, host='0.0.0.0', port=8080) 端口 8080 在防火墙异常中设置,python.exe 在程序异常中设置
netstat -a 显示应用正在等待连接。
如果我尝试通过 chrome 访问该站点,则会收到错误:ERR_CONNECTION_TIMED_OUT。
打开防火墙后,我根本看不到任何“点击”进入应用程序。
我还缺少其他配置吗?
非常感谢。
【问题讨论】:
-
首先——看起来您正在尝试将 Flask 调试服务器用作生产服务器。这是一个坏主意,它只是为开发而设计的,并且有一些限制,使其成为生产环境的糟糕选择。带有 Apache 的 mod_wsgi 可能是 Windows 的最佳选择。
-
在防火墙点上,我手头没有 Windows 计算机 - 而是解锁服务,是否可以在您关心的实际端口上添加入站规则允许它通过了吗?
标签: python flask windows-firewall