2016-07-05 12 views
1

ユーザーからのhttps接続を受け入れるロードバランサをセットアップしました。計算エンジンは、http接続を使用してロードバランサに接続されます。私はルートフォルダに、以下の.htaccessファイルを書かれているGoogle Cloudのhttpをhttpsにリダイレクト

RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

さて、問題は、計算エンジンは常にのhttp(ロードバランサ)にリンクしていないHTTPSを介して接続されています。

したがって、.htaccessファイルは、URLがhttpsで始まっていても、常に接続がhttpであり、httpsではないとみなします。したがって、URLがhttpsであっても、ユーザーをhttpsに送信しようとすると無限ループになります。

この場合、httpをhttpsにリダイレクトするにはどうすればよいですか。

ありがとうございました。

答えて

7

X-Forwarded-Protoのhttpヘッダーを確認する必要があります。ロードバランサによって設定され、httpまたはhttpsの値を持ちます。

+0

.htaccesファイルは次のようになります:のRewriteCond%{HTTP:Xフォワード・プロト} HTTPS するRewriteRule ^のhttps://%{HTTP_HOST}%{REQUEST_URI} [L、R = 301] –

+0

ちょっとLennert。助けてくれてありがとう :) –

1

これまで私は答えが見つからないほど長くかかっていました。本当にありがとう@レナート!

 

    [email protected]:/opt/bitnami/apps/wordpress/htdocs# head -4 /opt/bitnami/apps/wordpress/conf/htaccess.conf 

    RewriteEngine On 
    RewriteCond %{HTTP:X-Forwarded-Proto} =http 
    RewriteRule . https://%{HTTP:Host}%{REQUEST_URI} [L,R=permanent] 

関連する問題