Problema

Cuando se accede a AEM a través de un equilibrador de cargas con terminación SSL (o CDN con terminación SSL), el AEM redirecciona de https a http.

La terminación SSL en el balanceador de carga significa que los certificados SSL se instalan en el balanceador de carga. El usuario final accede al sitio a través de https://, y se accede al Dispatcher/Servidor Web y AEM con http://.

Causa

Los diferentes balanceadores de carga envían diferentes encabezados para notificar a los sistemas de back-end que SSL se termina en incremento. Por ejemplo, Amazon ELB utiliza el encabezado "X-Forwarded-Proto: https".

Resolución

Para solucionar el problema:

I. Instale la corrección 6922:

Si usted está en AEM 6.0 o 6.1:

  1. Póngase en contacto con el servicio de atención al cliente de AEM y solicite el hot fix 6922. El hot fix es para AEM 6.0, pero también funciona en AEM 6.1.

  2. Vaya a http://aem-host:port/crx/packmgr/index.jsp e inicie sesión como administrador

  3. Instale el zip de las correcciones en el gestor de paquetes de AEM.

    Nota:

    Esta corrección ayuda a evitar un problema en el que el anclaje de la URL se pierde durante la redirección actualizada por el filtro SSL de Apache Felix.  Por ejemplo, https://host/cf#/content/geometrixx/en.html se redirigiría a https://host/cf sin esta corrección.

II. Actualización de la configuración del despachador/cabeceras de cliente

Consulte la documentación de su equilibrador de carga para averiguar qué encabezado establece para notificar a los sistemas que han terminado SSL. Para simplificar, en estos pasos asumimos que la cabecera HTTP correcta es "X-Forwarded-Proto: https"

  1. Inicie sesión en el servidor dispatcher.

  2. Abra la granja del dispatcher .any configuración.

  3. Añada la cabecera a la sección /clientheaders.

Si está utilizando un despachador sin un balanceador de carga o si su balanceador de carga o proxy no logra configurar el encabezado X-Forwarded-Proto, entonces puede configurarlo a nivel de servidor web o despachador. Si está utilizando el servidor HTTP Apache, actualice su HTTPS VirtualHost con esta directiva:

RequestHeader set X-Forwarded-Proto "https"

III. Actualizar las Configuraciones de Cabecera:

  1. Vaya a http://host:port/system/console/configMgr/org.apache.felix.http.sslfilter.SslFilter, e inicie sesión como administrador.

  2. Configure el encabezado de reenvío SSL en X-Forwarded-Proto.

  3. Establezca el valor de reenvío de SSL en https.

  4. Haga clic en Guardar.

Nota:

No existe ningún estándar para los encabezados de proxy inverso que indique al módulo de servicio qué protocolo se utiliza. Sin embargo, aquí hay algunos que son conocidos:

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

IV. Actualización de 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:

  1. Inicie sesión en http://aem-host:port/system/console/configMgr/org.apache.felix.http.

  2. Habilite la opción Enable Proxy/Load Balancer Connection, y guárdela.

  3. Busque el servicio de autenticación de Sting y abra la configuración.

  4. Desmarque Permitir acceso anónimo.

  5. Haga clic en Guardar.

Para más detalles sobre este tema, consulte la solución sobre el artículo.

Esta obra está autorizada con arreglo a la licencia de Reconocimiento-NoComercial-CompartirIgual 3.0 Unported de Creative Commons.  Los términos de Creative Commons no cubren las publicaciones en Twitter™ y Facebook.

Avisos legales   |   Política de privacidad en línea