首页 > 解决方案 > 无法在 Google Cloud Platform 上的保留静态地址上查看烧瓶应用

问题描述

我没有通过 Gcloud 命令行进行通常的部署方式,而是简单地 sshed GCP Ubuntu 实例并通过 WinSCP 部署我的烧瓶应用程序,方法是将文件传输到我创建的 Ubuntu 实例上。我能够让它像这样运行:

烧瓶服务器

我还保留了一个静态地址,以便我可以允许用户查看 Flask 应用程序。

但是,当我尝试访问外部 IP 地址时,GCP 拒绝连接,我无法查看我的烧瓶应用程序。

我可能做错了什么?

标签: pythonflaskgoogle-cloud-platformdeploymentflask-sqlalchemy

解决方案


没有 VPC 防火墙规则允许进入 tcp/8080 上的实例的入口流量。

第一步:在你的 GCE 实例上添加一个网络标签,allow-8080-ingress.

第二步:在 web 菜单下,转到VPC Network- Firewall-Create Firewall Rule并创建一个具有以下属性的新规则:

  • 名称:随便8080
  • 网络: [选择您的实例所属的网络]
  • 流量方向:入口
  • 比赛行动:允许
  • 目标:指定的目标标签
  • 目标标签: allow-8080-ingress(您在实例上添加的网络标签)
  • 源过滤器: IP 范围
  • 源 IP 范围: 0.0.0.0/0 <<== 这将允许来自任何 IP 的传入流量。您可能更具体,选择更小的范围甚至特定的 IP 地址。
  • 指定协议和端口:检查tcp并添加8080

你没有附加你的烧瓶代码,但如果你像这样启动它,它就会工作:

if __name__ == '__main__':     
  app.run(host='0.0.0.0', port=8080)

...能够通过公共 IP 访问它:

在此处输入图像描述


推荐阅读