【问题标题】:Opening port 5000 for the internet is not working for google cloud compute engine instance为互联网打开端口 5000 不适用于谷歌云计算引擎实例
【发布时间】:2018-12-04 07:16:24
【问题描述】:

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

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

sudo ufw allow 5000

控制台上的命令。

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

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

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

【问题讨论】:

  • 使用“netstat -plant”和“nmap ”验证端口 5000 在 VM 实例上处于侦听状态,并在运行时与烧瓶应用程序关联。此外,验证您创建的允许任何主机的入口流量的防火墙规则是否适用于实例托管烧瓶应用程序。也可以查看this thread作为参考。

标签: flask google-cloud-platform google-compute-engine


【解决方案1】:

我遇到了同样的问题。修复的方法是,将主机参数添加到 Flask 应用程序,如下所示。默认情况下,Flask App 设计为仅在 localhost 上工作。这已经解决了我的问题

if __name__ == '__main__':
    app.run(debug=False, port=8081, host='0.0.0.0') 

【讨论】:

    猜你喜欢
    • 2014-10-29
    • 2017-09-03
    • 1970-01-01
    • 1970-01-01
    • 2018-05-21
    • 2017-11-29
    • 2016-10-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多