【问题标题】:Python flask expose to external visiblePython烧瓶暴露于外部可见
【发布时间】: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 上的另一个盒子?

标签: python flask


【解决方案1】:

我知道这是一个老问题,但我想我会投入 2 美分。

根据您的描述,听起来您正在通过 PuTTY 在远程服务器(开发服务器)上启动烧瓶应用程序。然后,您尝试访问本地系统 (localhost) 上的应用程序。该应用程序未在您的本地系统上运行,因此可以解释 chrome 中的错误。

您需要转到http://[dev_svr_ip]:5000,而不是去http://[my_sys_ip]:5000

【讨论】:

    猜你喜欢
    • 2013-08-30
    • 2016-02-29
    • 1970-01-01
    • 2021-12-16
    • 1970-01-01
    • 2021-08-30
    • 2015-10-31
    • 2018-06-27
    • 1970-01-01
    相关资源
    最近更新 更多