web-dev-qa-db-ja.com

HTTPをHTTPSにリダイレクトするにはどうすればよいですか(GCP負荷分散)?

GCP負荷分散を使用していて、HTTPからHTTPSへのリンクをリダイレクトしたいと思います。しかし、理解できません。

私の負荷分散は次のようになります。

Load balancer name
Front End:
  Protocols     IP             Certificate
  HTTP          x.x.x.x:80     -
  HTTPS         x.x.x.x:443    example-com

Back End: 
  Hosts          Paths        Backend
  example.com    /*           webs-backend

私のWebバックエンドは、TCP/80ポートでリッスンする単純なnginx Webサーバーです。 Nginxサーバー構成:

server {
  server_name example.com;
  root /var/www/html;

  <snip>
}

このGCP負荷分散設定で、HTTPとHTTPSの両方にアクセスでき、クレイント301リダイレクトをHTTPSに送信するようにNginxを構成しようとしましたが、機能しません。リダイレクトが多すぎます。

問題は、HTTPをHTTPSに適切にリダイレクトするようにGCP負荷分散を構成するにはどうすればよいですか?

5
Ng Nam

GCP HTTP(s)ロードバランサーでサポートするために、Google製品エンジニアリングチームに提出された機能リクエストがあります。これはGoogleの公開問題 tracker で追跡できます。

同じことを議論する thread があり、NGINXサーバーでは、次のようにnginx設定ファイルに次の文字列を追加することで同じことができます。

if ($http_x_forwarded_proto = "http") { 
  return 301 https://$Host$request_uri; 
}

あなたはこれをチェックすることができます thread 同様にあなたを助けるかもしれません。

6
N Singh