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」であると仮定します

  1. Dispatcher サーバーにログインします。
  2. Dispatcher ファーム .any設定を開きます。
  3. ヘッダーを/clientheaders セクションに追加します。

ロードバランサーなしでDispatcherを使用している場合、またはロードバランサーまたはプロキシが​X-Forwarded-Proto ヘッダーの設定に失敗した場合は、web サーバーまたはDispatcher レベルで設定できます。 Apache HTTP Serverを使用している場合は、次のディレクティブを使用して​ HTTPS VirtualHost ​を更新します。

1
RequestHeader  set X-Forwarded-Proto  "https"

II. ヘッダー設定を更新する:

  1. http://host:port/system/console/configMgr/org.apache.felix.http.sslfilter.SslFilterに移動し、管理者としてログインします。
  2. SSL​転送ヘッダーを​ X-Forwarded-Proto ​に設定します
  3. SSL​転送値を​ https ​に設定します。
  4. 保存」をクリックします。

メモ:

どのプロトコルが使用されているかをバックエンドに伝えるリバースプロキシヘッダーの標準はありません。 とはいえ、次に、既知のものを示します。

  • 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」 ​を使用します。

recommendation-more-help
experience-cloud-kcs-help-kbarticles