AEMは、SSL/TLS が終了したロードバランサーを通じてアクセスした場合に、ユーザーを http にリダイレクトします。
説明 description
環境
- Adobe Experience Manager
問題/症状
SSL によって終了したロードバランサー(または SSL によって終了した CDN)を介してAEMにアクセスする場合、AEMは https から http にリダイレクトします。
ロードバランサーでの SSL ターミネーションとは、ロードバランサーに SSL 証明書がインストールされていることを意味します。エンドユーザーがhttps://を通じてサイトにアクセスし、Dispatcher/Web サーバーとAEMはhttp://を使用してバックエンドでアクセスします。
解決策 resolution
原因:
ロードバランサーが異なると、異なるヘッダーが送信されて、バックエンドシステムに SSL はアップストリームを終了します。 例えば、Amazon ELB は、「X-Forwarded-Proto: https」ヘッダーを使用します。
The(
問題を修正するには:
I. Dispatcher の/clientheaders 設定を更新する
ロードバランサーがダウンストリームシステムに SSL ターミネーションであることを通知するために設定しているヘッダーを調べるには、お使いのロードバランサーのドキュメントを参照してください。簡単にするため、これらの手順では、正しい HTTP ヘッダーが「X-Forwarded-Proto: https"
- Dispatcher サーバーにログインします。
- Dispatcher ファームの.any 設定を開きます。
- /clientheaders セクションにヘッダーを追加します。
ロードバランサーを使用していない場合、またはロードバランサーやプロキシが X-Forwarded-Proto ヘッダーを使用する場合は、Web サーバーまたは Dispatcher レベルで設定できます。 を使用している場合、 Apache HTTP サーバーに接続してから、 HTTPS VirtualHost 次のディレクティブを使用:
RequestHeader
set
X-Forwarded-Proto
"https"
II. ヘッダー設定を更新する:
- に移動します。
http://host:port/system/console/configMgr/org.apache.felix.http.sslfilter.SslFilter
管理者としてログインします。 - 設定 SSL ヘッダーを次に転送: X-Forwarded-Proto です。
- 設定 SSL ~に価値を転送する https.
- 「保存」をクリックします。
メモ:
どのプロトコルが使用されているかをバックエンドに伝えるリバースプロキシヘッダーの標準はありません。とはいえ、次に、既知のものを示します。
- Amazon ELB(Elastic Load Balancer) は、「X-Forwarded-Proto: https」ヘッダーを使用します。
- Amazon Cloudfront CDN は、「X-Cloudfront-Proto: https」ヘッダーを使用します。
III. Jetty OSGi 設定を更新する(AEM 6.3 以降のバージョン)
AEM 6.3 以降のバージョンでは、追加の設定が必要です。
- にログインします。
http://aem-host:port/system/console/configMgr/org.apache.felix.http.
- 「プロキシ/ロードバランサー接続を有効にする」設定を有効にして、保存します。