【问题标题】:How does App Engine handle HTTPS requests?App Engine 如何处理 HTTPS 请求?
【发布时间】:2021-06-07 22:11:36
【问题描述】:

我正在将我的应用程序移至 GCP App Engine,请求必须是 HTTPS。

我的服务器目前使用 HTTPS 模块处理 HTTPS 请求。在所有演示应用示例中,它们都只提供 HTTP。

加密连接是否被终止,然后作为 HTTP 请求传递给应用程序,如果是,这是否安全?

我知道您可以将 app.yaml 设置为指定所有连接都是“安全的”并使用 HTTPS,但这似乎不是很安全,好像该行丢失了,然后流量现在未加密,但仍将用作服务器是否配置为提供 HTTP 流量?

【问题讨论】:

标签: google-app-engine google-cloud-platform https


【解决方案1】:

使用 GAE,负载平衡器和您的应用之间的连接始终是 HTTP。即使原始请求是 HTTPS 也是如此。负载均衡器会设置标头,让您知道请求最初是 HTTP 还是 HTTPS。

对于大多数人来说,这是可以接受的安全风险。 Google 防火墙后的请求肯定比 Google 防火墙外的请求安全得多。

如果这对您来说不是可接受的安全风险,那么您不能使用 GAE。

您可以要求最终用户和防火墙之间的连接始终为 HTTPS,例如通过自动将 HTTP 重定向到 HTTPS。

【讨论】:

    【解决方案2】:

    当您错过secure 时,可以同时提供 HTTP 和 HTTPS。见this document

    安全 可选的。任何 URL 处理程序都可以使用安全设置,包括脚本处理程序和静态文件处理程序。安全元素有以下可能的值:

    可选

    具有与处理程序匹配的 URL 的 HTTP 和 HTTPS 请求都会成功,无需重定向。应用程序可以检查请求以确定使用了哪个协议,并做出相应的响应。这是未为处理程序提供安全时的默认设置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-18
      • 1970-01-01
      • 2012-11-13
      • 2019-01-18
      • 1970-01-01
      • 1970-01-01
      • 2017-08-17
      • 1970-01-01
      相关资源
      最近更新 更多