AEM redirige al usuario de nuevo a http cuando se accede a través de SSL/TLS terminado Load Balancer

Descripción

Entorno

  • Experience Manager

Problemas/Síntomas
Al acceder a AEM a través de un equilibrador de carga con terminación SSL (o CDN con terminación SSL), AEM redirige de https a http.

La terminación SSL en el equilibrador de carga significa que los certificados SSL están instalados en el equilibrador. El usuario final accede al sitio a través de https://, y se accede a Dispatcher/Web Server y AEM en el back-end mediante http://.

Resolución

Causa

Los diferentes equilibradores de carga envían diferentes encabezados para notificar a los sistemas back-end que SSL termina en sentido ascendente. Por ejemplo, Amazon ELB usa la cabecera "X-Forwarded-Proto: https".

​ ​ ​ ​ ​ ​

Para solucionar el problema:

I. Actualización de la configuración de Dispatcher/clientheaders

Consulte la documentación de su equilibrador de carga para saber qué cabecera establece para notificar a los sistemas posteriores que ha finalizado el SSL. Para simplificar, en estos pasos asumimos que el encabezado HTTP correcto es "X-Forwarded-Proto: https"

  1. Inicie sesión en el servidor de Dispatcher.
  2. Abra la granja de Dispatcher .any configuración.
  3. Agregue el encabezado a la sección /clientheaders.

Si está utilizando Dispatcher sin un equilibrador de carga o si su equilibrador de carga o proxy no puede establecer la variable X-Forwarded-Proto , a continuación, puede configurarlo en el servidor web o a nivel de Dispatcher. Si está utilizando Apache HTTP Servidor y, a continuación, actualice el Host virtual HTTPS con la presente Directiva:

1 RequestHeader  set X-Forwarded-Proto  "https"

II. Actualice las configuraciones de la cabecera:

  1. Vaya a http://host:port/system/console/configMgr/org.apache.felix.http.sslfilter.SslFiltere inicie sesión como administrador.
  2. Establezca SSL enviar encabezado a X-Forwarded-Proto.
  3. Establezca SSL valor de reenvío a https.
  4. Haga clic en Guardar.

Nota:

No existe un estándar para las cabeceras del proxy inverso que le indiquen al back-end qué protocolo se usa. Sin embargo, aquí hay algunos que se conocen:

  • Amazon ELB (Elastic Load Balancer) utiliza la "X-Forwarded-Proto: encabezado "https".
  • Amazon Cloudfront CDN utiliza "X-Cloudfront-Proto: encabezado "https".

III. Actualice la configuración de Jetty OSGi (AEM 6.3 y versiones posteriores)

En AEM 6.3 y versiones posteriores se requiere una configuración adicional:

  • Iniciar sesión en http://aem-host:port/system/console/configMgr/org.apache.felix.http.
  • Active el ajuste Activar conexión de proxy/equilibrador de carga y guárdelo.

En esta página