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“.
- Melden Sie sich beim Dispatcher-Server an.
- Öffnen Sie die Dispatcher-Farm mit einer beliebigen Konfiguration.
- 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:
RequestHeader
set
X-Forwarded-Proto
"https"
II. Aktualisieren Sie die Header-Konfigurationen:
- Navigieren Sie zu
http://host:port/system/console/configMgr/org.apache.felix.http.sslfilter.SslFilter
und melden Sie sich als Administrator an. - Setzen Sie SSL Forward-Header auf X-Forwarded-Proto.
- Setzen Sie SSL-Weiterleitungswert auf https.
- 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“.