2016-05-17 7 views
4

私のインスタンスグループを指すように標準GCPロードバランサを設定しました。インスタンス上の同じポートを介して通信します。 httpをhttpsにリダイレクトしたいと思います。私は通常、インスタンスのnginxまたはapacheでこれを行うでしょうが、それは既にロードバランサからのhttpsからは動作しません。すべてのHTTPリクエストをGCP Load Balancerを使用してHTTPSにリダイレクトする方法

nginx and apacheを使用してGCPのロードバランサで負荷分散を行っていた場合と同様のURLを書き換える方法はありますか?またはhttpとhttpsをインスタンスに転送して、インスタンスが通常どおり再書き込みを処理するようにする必要があります。私はGCPに前もって感謝しています。

+0

が今までこれを理解? –

+1

当然、私はこの賞金を追加した直後に素晴らしい答えを見つけました! http://serverfault.com/questions/733166/redirect-all-http-traffic-to-https-when-using-the-https-load-balancer-on-googlまたはちょうど良い書き込みをしたい人は誰でも私のポイントがあるかもしれないこの質問にリンクしてください! –

答えて

3

Nginxと同じ方法で設定できます。 httpsでないポートでトラフィックが表示されると、HTTPsにリダイレクトされます。

これを行うには、トラフィックが入ったプロトコルを含む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ドキュメント:http://tools.ietf.org/html/rfc2616#section-14.42

関連する問題