SSL終了ロードバランサーの背後にあるEC2インスタンスでのSSLリダイレクト


11

WebアプリケーションですべてのURLをhttpsにリダイレクトしようとしています。

エラスティックロードバランサーの背後にec2インスタンスがあります。SSLはロードバランサーで終了します。

リダイレクトを試みると、なじみのある「このページは決して完了しない方法で要求しています」という結果になります。

ロードバランサーは、443と80をインスタンスのポート80に転送します。

これが私の.htaccessにあるものです。

RewriteCond %{X-FORWARDED-PROTO} !=on  
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

誰もこれを達成する方法を知っていますか?どうもありがとう、

回答:


17

未テスト..しかし、私はこれを試します

RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]

http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/TerminologyandKeyConcepts.html#x-forwarded-proto


1
はい!どうもありがとうございます。しばらくこれに苦労しています。大変感謝いたします。これが助けだと思ったら答えてください。ありがとう
...-rix

リンクが壊れています
ビルロスマス

ソリューションはまだ機能します。ここでいくつかの説明を見つけることができます:docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/…–
ティム

私のために働いた。今日テスト済み
ベンシンクレア14

0

Mikeの答えはほとんど正しいですが、ロードバランサーがec2インスタンスがまだ正常に機能していることを確認するためにヘルスチェックルーチンを実行する必要があることを指摘することが重要です。これは、追加で行うことができますRewriteCond

RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{REQUEST_URI} !^/alive\.html$
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]

... alive.htmlはヘルスチェックファイルの名前です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.