【问题标题】:How to enforce HTTPS traffic to Flexible Google App Engine with custom domain?如何使用自定义域将 HTTPS 流量强制到灵活的 Google App Engine?
【发布时间】:2019-02-21 04:58:17
【问题描述】:

我在 Google Domains (http://example.com) 上有一个网站。

但我希望它在灵活的应用引擎环境中重定向到https://example.com

在 app.yaml 中需要对灵活的应用引擎环境进行哪些更改。

mu 当前 app.yaml 如下:

runtime: python
env: flex
entrypoint: gunicorn -b :$PORT main:app

runtime_config:
  python_version: 3

manual_scaling:
  instances: 1

resources:
  cpu: 1
  memory_gb: 0.5
  disk_size_gb: 10

【问题讨论】:

  • app.yaml 不需要更改。遵循此文档:cloud.google.com/appengine/docs/flexible/python/…
  • @JohnHanley 我已经浏览了一个文档,我目前已经完成了这个 setps,我的 example.com 域同时处理 http 和 https 请求。我的要求是应该只在 https 上工作。所有请求都应该使用 https:// 打开而不是通过 http://
  • 您需要检查代码中的协议,并为 HTTP 将用户重定向到 301 或 307 到 HTTPS。 App Engine Flexible 不会为您提供任何内容。您在代码中提供逻辑。
  • @JohnHanley 你能告诉我示例应用程序吗?我们如何重定向?

标签: python google-cloud-platform app-engine-flexible


【解决方案1】:

要在 App Engine 柔性环境中使用 Flask 应用程序将 HTTP 重定向到 HTTPS,您只需使用名为 Talisman 的小型 Flask 扩展。

在您的requirements.txt 中,您必须添加包含flask-talisman 的行。

在您的 main.py 中,您只需导入 Talisman 并用它包装您的 Flask 应用程序:

from flask import Flask
from flask_talisman import Talisman

app = Flask(__name__)
Talisman(app)

默认情况下,这样做会重定向到 HTTPS。

请注意,Talisman 不是 Google 的官方产品,无论是实验性产品还是其他产品。

【讨论】:

    猜你喜欢
    • 2018-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-07
    • 2018-06-19
    • 2012-06-10
    • 2017-04-08
    • 1970-01-01
    相关资源
    最近更新 更多