【发布时间】:2013-09-08 23:15:51
【问题描述】:
在Flask - configure dev server to be visible across the network 帖子的帮助下,我尝试了同样的方法使我的 Flask 在外部可见,以便我可以将 HTTP 请求从本地浏览器发送到远程服务器中的 Flask。
有人可以帮我解释为什么即使我打开了连接它对我也不起作用。 我在 Putty [开发服务器中的脚本] 中启动了我的烧瓶,并尝试以 http://[my_sys_ip]:5000/ 从我的 Chrome 访问 URL。 Chrome 向我报告 OOPS 错误。
在Flask 上,我已在关闭debug 模式的情况下使其外部可见:
if __name__ == '__main__':
app.run(host='0.0.0.0', debug = False)
从 netstat,我可以看到它在 5000 上监听:
netstat -an | grep :5000
tcp 0 0 0.0.0.0:5000 0.0.0.0:* LISTEN
当尝试从同一个开发服务器发送GET 请求时,我成功获得了预期的响应:
python testing.py
URL called is http://0.0.0.0:5000/
Message to the user is Hello World!!!!!!!
我错过了什么?
【问题讨论】:
-
远程服务器是否与运行 chrome 的计算机在同一个本地网络中?只是猜测:如果不是,那么远程服务器可能位于路由器后面,这可能是与端口 5000 的连接被阻止的地方。
-
你连接的IP地址是什么?这是一个可公开路由的地址,不是吗?
-
@sebastian 是的,他们在同一个网络上。
-
@JoeDoherty 请帮助理解“公共可路由地址”
-
如果他们在同一个网络上应该没问题。我的意思是如果您从另一个网络运行并尝试连接到 192.168.1.0\24 或其他什么。如果您在它们之间连接时遇到问题,我会检查路由/防火墙。您是否正在尝试连接到同一 IP 上的另一个盒子?