GCLB 后端的 HTTP 到 HTTPS 重定向

HTTP to HTTPS redirect in backend behind GCLB

据我所知Google Cloud Load Balancer 不支持开箱即用的 HTTP 到 HTTPS 重定向,这是一个已知问题:https://issuetracker.google.com/issues/35904733

目前,我正在向 GKE 后端发送某些请求,其中我 运行 Kubernetes 应用程序和 GCS 支持的后端。我还在强制使用 HTTPS 的默认后端中使用 Apache。

这种方法的问题在于,如果任何请求符合 GKE 后端的标准,我无法强制使用 HTTPS。我正在考虑对所有请求(?)使用 Apache 后端,并以某种方式将其中一些请求代理到 GKE 后端。这样 Apache 后端就会成为瓶颈,我不确定它是否是一个好的解决方案。

你会如何解决这个问题?提前致谢!

要强制从负载均衡器到 GKE 后端(pod)的 SSL 流量,您需要在 pod 上公开端口 443(或类似端口)并在那里配置 SSL。

似乎唯一的方法是将 HTTP 流量发送到自定义后端(可以是 apache/nginx)并在那里强制升级 HTTPS。

如果您使用带有 Ingress 的 GKE 后端,我发现这个答案很有用。