在Google Compute Engine上使用HTTP(S)负载均衡器时,将所有HTTPstream量redirect到HTTPS

我使用2个全局转发规则(HTTP和HTTPS)在Google Compute Engine上设置了HTTP / HTTPS负载平衡。 每个规则都指向一个HTTP协议的后端服务。

我想要所有的请求http://*https://*

由于负载平衡器通过HTTP与后端服务进行通信,我不认为我可以在后端服务上获得nginx来发回301

我已经尝试了十几个小的谷歌计算调整,他们都结束了谷歌计算返回502

我确信其他人之前已经设置好了。 任何提示或指针在正确的方向非常感谢。

    我们使用HTTP / HTTPS负载平衡器进行类似的设置,并设法强制使用HTTPS。 它不能直接从负载平衡器,但你可以从你的后端服务设置它。 Google Cloud负载均衡器将使用值http或https设置X-Forwarded-Proto http标头。 你在后台服务中检查这个头(在我们的例子中是Varnish,但是也可以在Nginx中完成),如果这个值是http,那么你发回一个301。

    我今天遇到了这个问题,并能够使用TCP负载平衡来解决这个问题。 如果您不需要HTTP / HTTPS特定的负载平衡器选项,也许可以使用TCP负载平衡器(无SSL)接收到端口80和443的stream量。对于端口80的stream量,您可以发回301。