web-dev-qa-db-ja.com

JoomlaまたはhtaccessのいずれかでSSLを強制的に機能させない

Joomlaには複数のサイトがあります。詳細は以下のとおりです。

  • ドメインmydomain.co.in、sub.mydomain.co.inでホストされています。
  • ロードバランサーの背後にあるAmazonEC2インスタンス。
  • * .mydomain.co.inのWildCardSSL証明書を購入し、ロードバランサーで構成しました。

ライブサイト変数をJoomla構成から https://sub.mydomain.co.in に設定しました。 https://sub.mydomain.co.in または http://sub.mydomain.com でサイトを閲覧すると、正常に動作します。ただし、すべてのリクエストをhttps://に強制したいと思います。

私はこれを達成しようとしました

  • Joomla構成で強制SSL変数をサイト全体に設定します。
  • .htaccessに次のコードを追加する

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

しかし、これら2つのブラウザのいずれかを実行すると、何も機能しませんこのページにはリダイレクトループがあります。リダイレクトが他の場所から発生しているかどうかを確認するために、もう少し掘り下げました。

  • Httpd.confの仮想ホスト構成
  • Joomlaリダイレクトプラグイン。

しかし、リダイレクトループを引き起こしているそのようなコード/プラグインはありません。

誰か助けてもらえますか?

前もって感謝します。

2
Amol Chakane

書き換え条件で間違った変数をチェックしています。

Amazon Elastic Load Balancerを使用してSSLセッションを終了しているため、インスタンスのApacheは、それらがHTTPS経由で着信したことを認識せず、HTTPSを設定しません。

ELBはX-Forwarded-Protoヘッダーを設定します リクエストの受信方法に応じてhttpまたはhttpsに設定します。代わりにこのヘッダーをチェックして、リダイレクトを実行できます。

RewriteEngine on 
RewriteCond %{HTTP:X-Forwarded-Proto} !https 
RewriteRule .* https://%{HTTP_Host}%{REQUEST_URI} [R=301,L]
2
Michael Hampton