Beim Zugriff auf AEM über einen SSL terminierten Lastverteiler (oder SSL terminierter CDN), leitet AEM die Verbindung von HTTPS auf HTTP zurück.
SSL-Terminierung an dem Lastverteiler bedeutet, dass die SSL-Zertifikate am Lastverteiler installiert sind. Der Endbenutzer greift auf die Seite über https:// zu und der Dispatcher/Webserver und AEM werden am Backend mit http:// aufgerufen.
Verschiedene Lastverteiler senden verschiedene Kopfzeilen, um das Backend-System zu benachrichtigen, dass SSL stromaufwärts beendet wird. Zum Beispiel verwendet Amazon ELB die Kopfzeile „X-Forwarded-Proto: https“.
I. Aktualisieren Sie die Dispatcher-/clientheaders-Konfiguration.
In der Dokumentation zu Ihrem Lastverteiler erfahren Sie, welche Kopfzeile festgelegt wird, um Anschlusssysteme zu benachrichtigen, dass SSL beendet wurde. Zur Vereinfachung wird in diesen Schritten angenommen, dass die korrekte HTTP-Kopfzeile „X-Forwarded-Proto: https“ ist.
Wenn Sie den Dispatcher ohne den Lastverteiler verwenden oder wenn Ihr Lastverteiler oder Proxy die X-Forwarded-Proto-Kopfzeile nicht festlegt, können Sie ihn auf der Webserver- oder Dispatcher-Ebene festlegen. Wenn Sie den Apache HTTP-Server verwenden, aktualisieren Sie Ihren HTTPS VirtualHost mit dieser Anweisung:
RequestHeader set X-Forwarded-Proto "https"
Hinweis:
Es gibt keinen Standard für Rückwärts-Proxy-Kopfzeilen, die dem Backend mitteilen, welches Protokoll verwendet wird. Aber hier sind einige, die bekannt sind:
- Amazon ELB (Elastic Load Balancer) verwendet die „X-Forwarded-Proto: HTTPS“ Kopfzeile.
- Amazon Cloudfront CDN verwendet die „X-Cloudfront-Proto: HTTPS“ Kopfzeile.
III. Aktualisieren Sie die Jetty OSGi-Konfiguration (AEM 6.3 und höhere Versionen).
Ab AEM 6.3 ist eine zusätzliche Konfiguration erforderlich: