AEM leitet beim Zugriff über einen durch SSL/TLS beendeten Load-Balancer zurück zu HTTP

In diesem Artikel wird das Experience Manager-Problem erläutert, bei dem Sie von https zu http umgeleitet werden, wenn Sie versuchen, über einen durch SSL beendeten Load-Balancer (oder durch SSL beendetes CDN) darauf zuzugreifen.

Beschreibung description

Umgebung

Experience Manager

Probleme/Symptome

Beim Zugriff auf AEM über einen durch SSL beendeten Load-Balancer (oder durch SSL beendetes CDN) leitet AEM von https zurück zu http.

SSL-Beendigung am Load-Balancer bedeutet, dass die SSL-Zertifikate im Load Balancer installiert sind. Der Endbenutzer greift über https:// auf die Website zu, und der Zugriff auf den Dispatcher/Webserver und die AEM erfolgt am Back-End über http://.

Auflösung resolution

Beheben des Problems:

I.Aktualisieren der Dispatcher-/ClientHeaders-Konfiguration

Lesen Sie in der Dokumentation Ihres Load-Balancers nach, welchen Header er setzt, um nachgelagerten Systemen mitzuteilen, dass er SSL beendet hat. Zur Einfachheit gehen wir bei diesen Schritten davon aus, dass der richtige HTTP-Header "X-Forwarded-Proto: https“.

  1. Melden Sie sich beim Dispatcher-Server an.
  2. Öffnen Sie die Dispatcher-Farm mit einer beliebigen Konfiguration.
  3. Fügen Sie die Kopfzeile zum Abschnitt /clientheaders hinzu.

Wenn Sie einen Dispatcher ohne Load-Balancer verwenden oder wenn Ihr Load-Balancer oder Proxy den X-Forwarded-Proto-Header nicht setzen kann, können Sie ihn auf Webserver- oder Dispatcher-Ebene setzen. Wenn Sie den Apache HTTP-Server verwenden, aktualisieren Sie HTTPS VirtualHost mit dieser Anweisung:

1
RequestHeader  set X-Forwarded-Proto  "https"

II. Aktualisieren Sie die Header-Konfigurationen:

  1. Navigieren Sie zu http://host:port/system/console/configMgr/org.apache.felix.http.sslfilter.SslFilter und melden Sie sich als Administrator an.
  2. Setzen Sie SSL Forward-Header auf X-Forwarded-Proto.
  3. Setzen Sie SSL-Weiterleitungswert auf https.
  4. Klicken Sie auf Speichern.

Hinweis:

Es gibt keinen Standard für Reverse-Proxy-Header, die dem Back-End mitteilen, welches Protokoll verwendet wird. Hier sind jedoch einige bekannte:

  • Amazon ELB (Elastic Load Balancer) verwendet den Header „X-Forwarded-Proto: https“.
  • Amazon Cloudfront CDN verwendet den Header „X-Cloudfront-Proto: https“.

III. Aktualisieren der Jetty-OSGi-Konfiguration (AEM 6.3 und neuere Versionen)

Für AEM 6.3 und neuere Versionen ist eine zusätzliche Konfiguration erforderlich:

  • Melden Sie sich bei http://aem-host:port/system/console/configMgr/org.apache.felix.http. an.
  • Aktivieren Sie die Einstellung Proxy/Load Balancer-Verbindung aktivieren und speichern Sie sie.

Ursache

Verschiedene Load-Balancer senden verschiedene Header, um die Back-End-Systeme darauf hinzuweisen, dass SSL vorgelagert beendet wird. Beispielsweise verwendet Amazon ELB den Header „X-Forwarded-Proto: https“.

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f