SSL/TLS終了ロードバランサーを介してアクセスすると、AEMはhttpにリダイレクトされます
この記事では、SSL ターミネーション済みロードバランサー(またはSSL ターミネーション済みCDN)を介してアクセスしようとすると、httpsから http にリダイレクトされるExperience Managerの問題について説明します。
説明 description
環境
Adobe Experience Manager
問題/症状
SSL 終端が有効なロードバランサー(または SSL 終端が有効な CDN)を経由して AEM にアクセスすると、AEM は https から http にリダイレクトします。
ロードバランサーでの SSL ターミネーションとは、ロードバランサーに SSL 証明書がインストールされていることを意味します。 エンドユーザーはhttps://を介してサイトにアクセスし、Dispatcher/Web ServerおよびAEMはバックエンドでhttp://を使用してアクセスします。
解決策 resolution
問題を修正するには:
I.Dispatcher /clientheaders設定を更新
ロードバランサーがダウンストリームシステムに SSL 終端であることを通知するために設定しているヘッダーを調べるには、お使いのロードバランサーのドキュメントを参照してください。 簡単にするために、以下の手順では、正しいHTTP ヘッダーは「X-Forwarded-Proto: https」であると仮定します
- Dispatcher サーバーにログインします。
- Dispatcher ファーム .any設定を開きます。
- ヘッダーを/clientheaders セクションに追加します。
ロードバランサーなしでDispatcherを使用している場合、またはロードバランサーまたはプロキシがX-Forwarded-Proto ヘッダーの設定に失敗した場合は、web サーバーまたはDispatcher レベルで設定できます。 Apache HTTP Serverを使用している場合は、次のディレクティブを使用して 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.。 - 設定 プロキシ/ロードバランサー接続を有効にするを有効にして、保存します。
原因
異なるロードバランサーは、異なるヘッダーを送信して、SSLがアップストリームで終了したことをバックエンドシステムに通知します。 例えば、Amazon ELBは、ヘッダー「X-Forwarded-Proto: https」 を使用します。