AEM redirige de nuevo a http cuando se accede a través del equilibrador de carga con terminación SSL/TLS
Este artículo analiza el problema del Experience Manager al que se le redirige de https a http al intentar acceder a través de un equilibrador de carga con terminación SSL (o CDN con terminación SSL).
Descripción description
Entorno
Experience Manager
Problemas/Síntomas
Cuando se accede 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 al servidor web/Dispatcher y se accede al servidor web a través de la interfaz de usuario de y se accede a la interfaz de usuario a través de la interfaz de usuario de AEM/Web y a través de la interfaz de usuario de http://.
Resolución resolution
Para solucionar el problema:
Configuración de I.Update 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 damos por hecho que el encabezado HTTP correcto es "X-Forwarded-Proto: https"
- Inicie sesión en el servidor de Dispatcher.
- Abra la configuración de Dispatcher farm .any.
- Agregue el encabezado a la sección /clientheaders.
Si está usando Dispatcher sin un equilibrador de carga o si el equilibrador o proxy no establece el encabezado X-Forwarded-Proto, puede establecerlo en el nivel de servidor web o Dispatcher. Si está usando el servidor Apache HTTP, entonces actualice HTTPS VirtualHost con esta directiva:
RequestHeader
set
X-Forwarded-Proto
"https"
II. Actualice las configuraciones de la cabecera:
- Vaya a
http://host:port/system/console/configMgr/org.apache.felix.http.sslfilter.SslFilter
e inicie sesión como administrador. - Establecer SSL encabezado de reenvío en X-Forwarded-Proto.
- Establezca SSL valor de reenvío en https.
- 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 el encabezado "X-Forwarded-Proto: https".
- La CDN de Amazon CloudFront utiliza el encabezado "X-Cloudfront-Proto: https".
III. Actualice la configuración de Jetty OSGi (AEM 6.3 y versiones posteriores)
AEM En la versión 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.
- Habilite la configuración Habilitar conexión de proxy/equilibrador de carga y guárdela.
Causa
Diferentes equilibradores de carga envían encabezados diferentes para notificar a los sistemas back-end que SSL ha finalizado en el flujo ascendente. Por ejemplo, Amazon ELB usa el encabezado "X-Forwarded-Proto: https".