Problem

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.

Ursache

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“.

Lösung

So beheben Sie das Problem:

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.

  1. Melden Sie sich beim Dispatcher-Server an.

  2. Öffnen Sie die Dispatcher farm .any Konfiguration.

  3. Fügen Sie die Kopfzeile zum Abschnitt /clientheaders hinzu.

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"

II. Aktualisieren Sie die Kopfzeilen-Konfiguration:

  1. Gehen Sie zu http://host:port/system/console/configMgr/org.apache.felix.http.sslfilter.SslFilter und melden Sie sich als Administrator an.

  2. Setzen Sie die SSL-Weiterleitungs-Kopfzeile auf X-Forwarded-Proto.

  3. Setzen Sie den SSL-Weiterleitungswert auf HTTPS.

  4. Klicken Sie auf Speichern.

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:

  1. Melden Sie an sich unter http://aem-host:port/system/console/configMgr/org.apache.felix.http.

  2. Aktivieren Sie die Einstellung Proxy/Lastverteiler-Verbindung aktivieren und speichern Sie sie.

Sie finden weitere Informationen zu diesem Thema in dem Lösungsartikel.