无法访问 gce 上启用 python flask 的 Web 服务器

无法访问 gce 上启用 python flask 的 Web 服务器

我在 GCE 中的 VM 上运行一个非常简单的 http 服务器。

代码非常简单

from flask import Flask, render_template, request, json, abort

app = Flask(__name__)
@app.route('/', methods=['GET'])
def heartbeat():
  return 'hello'

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

lynx我可以使用本地访问服务器上的“/”

在此处输入图片描述

我没有修改任何防火墙规则。以下是部分规则:

在此处输入图片描述

以下是与网络相关的部分虚拟机信息

在此处输入图片描述

您可以看到http流量是被允许的。

然而,当我尝试从我的电脑连接到服务器时,连接

答案1

默认情况下,pythonflask正在监听端口 5000。我需要一个防火墙规则来允许流量通过

在此处输入图片描述

答案2

您需要创建一个允许流量到该端口的防火墙规则。在浏览器的 Google Cloud 控制台中,转到菜单 -> VPC 网络 -> 防火墙规则。这是您应该创建的规则的模板。此规则允许您的任何端口上的任何流量。

在此处输入图片描述

答案3

您还可以通过稍微将最后一行更改为在端口 80 上运行您的应用程序:

app.run(host='0.0.0.0', port=80)

相关内容