AEM leitet zurück zu HTTP, wenn über SSL/TLS der Lastenausgleich beendet wird

In diesem Artikel wird das Problem des Experience Managers erläutert, bei dem Sie von https auf http umgeleitet werden, wenn Sie versuchen, über einen SSL beendeten Lastenausgleich (oder SSL-beendigtes 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 Site zu, der Dispatcher/Webserver und AEM auf das Backend mit http://.

Auflösung resolution

Beheben des Problems:

I.Update 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" lautet.

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

Wenn Sie Dispatcher ohne Lastenausgleich verwenden oder wenn Ihr Lastenausgleich oder Proxy die Kopfzeile X-Forwarded-Proto nicht festlegen kann, können Sie sie auf Webserver- oder Dispatcher-Ebene festlegen. Wenn Sie Apache HTTP-Server verwenden, aktualisieren Sie Ihren HTTPS VirtualHost mit dieser Anweisung:

1
RequestHeader  set X-Forwarded-Proto  "https"

II. Aktualisieren Sie die Header-Konfigurationen:

  1. Wechseln Sie zu http://host:port/system/console/configMgr/org.apache.felix.http.sslfilter.SslFilter und melden Sie sich als Administrator an.
  2. Setzen Sie den Weiterleitungs-Header SSL auf X-Forwarded-Proto..
  3. Setzen Sie den Wert SSL forward 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 die Kopfzeile "X-Forwarded-Proto: https".
  • Amazon Cloudfront CDN verwendet die Kopfzeile "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-/Lastenausgleichs-Verbindung aktivieren und speichern Sie sie.

Ursache

Verschiedene Lastverteiler senden verschiedene Header, um die Backend-Systeme darauf hinzuweisen, dass SSL vorgelagert beendet wird. Beispiel: Amazon ELB verwendet die Kopfzeile "X-Forwarded-Proto: https".

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