为互联网打开端口 5000 对于谷歌云计算引擎实例不起作用

Nad*_*rar 5 flask google-compute-engine google-cloud-platform

我有一个带有 Ubuntu 16.04 的谷歌云计算引擎实例。我有一个 Flask 应用程序在端口 5000 上运行。

我已设置防火墙规则以允许 tcp:5000 的任何主机(使用 0.0.0.0/0 过滤器)的入口流量。我跑了

sudo ufw allow 5000
Run Code Online (Sandbox Code Playgroud)

控制台上的命令。

此时,我希望通过在浏览器上输入http://external_ip:5000来看到 Flask 应用程序。但事实并非如此。我收到“external_ip 拒绝连接”。浏览器上的错误。我究竟做错了什么?

如果我在端口 80 上运行 Flask 应用程序,它就可以工作。

由于允许内部规则在防火墙规则中处于活动状态。我想也许尝试从同一项目下的节点进行访问(因此具有相同的默认网络)。但没有运气。

Kar*_*nil 3

我有同样的问题。解决方法是,将主机参数添加到 Flask 应用程序,如下所示。默认情况下,Flask 应用程序设计为仅在本地主机上运行。这解决了我的问题

if __name__ == '__main__':
    app.run(debug=False, port=8081, host='0.0.0.0') 
Run Code Online (Sandbox Code Playgroud)