如何使用GCP Load Balancer将所有HTTP请求重定向到HTTPS

时间:2016-05-17 05:37:44

标签: load-balancing google-cloud-platform

我已将标准GCP负载均衡器设置为指向我的实例组。它在实例上的同一端口进行通信。我想将http重定向到https。我通常会在实例上的nginx或apache中执行此操作,但由于其https已经来自负载均衡器,因此无法工作。

有没有办法重写网址,如果我使用nginx and apache在GCP的负载均衡器中进行负载均衡?或者我应该将http和https转发给实例并让实例像往常一样处理重写。我提前感谢GCP新手。

1 个答案:

答案 0 :(得分:3)

您可以像Nginx一样进行设置。当您看到端口上的流量不是https时,您将其重定向到HTTP。

为此,您可以使用X-Forwarded-Proto标头,其中包含流量所用的协议。在您的服务器上,您只需查找具有http标头的流量并将该请求升级到HTTPS

最常用的方法是使用301重定向,但这不是一个好习惯。应该使用HTTP 426升级请求标头。

了解详情:Is HTTP status code 426 Upgrade Required only meant signal an upgrade to a secure channel is required?

RFC doc:http://tools.ietf.org/html/rfc2616#section-14.42