Problema
¿Configurar el Dispatcher para que se conecte a CQ usando HTTPS en lugar de HTTP?
Solución
Para habilitar la comunicación HTTPS entre el Dispatcher y CQ, haga lo siguiente:
- Habilitar el soporte HTTPS en el motor de servlets CQ.
- Conecte Stunnel al puerto CQ'HTTPS.
- Configure el Dispatcher para que se conecte al Stunnel en lugar de conectarse directamente al CQ.
Nota: Estas instrucciones solo se aplican a la configuración de un Dispatcher basado en Apache Web Server en Linux.
Estas instrucciones asumen que su Dispatcher está configurado en redhat linux, y que está usando el servidor web Apache 2.2.
Habilitar HTTPS en CQ5 (CQ5.1 - CQ5.4)
- (En el servidor de instancia cq5) Utilice la herramienta de claves de java para generar un almacén de claves de certificados autofirmado. Luego, ejecute el comando keytool debajo del directorio crx-quickstart/server/etc/. Cuando ejecute el comando, establezca la contraseña en el parámetro -storepass con una contraseña de su elección.
keytool -genkey -keyalg RSA -alias self-signed -keystore keystore.jks -storepass password -validity 360 -keysize 2048 - Este comando crea un archivo llamado keystore.jks. Si no ejecutó el comando desde el directorio crx-quickstart/server/etc/, copie el archivo keystore.jks a ese directorio ahora.
- Si tiene certificados SSL, impórtelos en su máquina virtual Java utilizando la herramienta de claves.
- Añadir el siguiente xml después de la etiqueta </listener> en su archivo crx-quickstart/server/etc/server.xml. Establezca las contraseñas en la configuración de abajo para que coincidan con las que estableció en el paso 1 anterior.
<!--
El puerto para escuchar conexiones seguras, el 443 es
el puerto estándar para HTTPS.
-->
<bind-port>8889</bind-port>
<!--
El <ssl> elemento habilita SSL/TLS y lo configura
-->
<ssl>
<!--
El protocolo de seguridad a utilizar. Generalmente
se trata de “SSL”, “SSLv3”, “TLS” y “TLSv1”.
Por defecto: “SSL”
-->
<protocol>SSL</protocol>
<!--
Indique las propiedades, como la ubicación del
almacén de claves que contiene la clave del servidor.
-->
<key-store>
<!--
El algoritmo de autenticación que se utilizará. El valor por
defecto es apropiado para la
implementación de JSSE de Sun. Solo especifique cualquier cosa
soportada por el proveedor de JSSE utilizado.
Por defecto: “SunX509”
-->
<!-- <algorithm>SunX509</algorithm> -->
<!--
El tipo de almacén de claves identificado por el elemento
<name> Las implementaciones JSSE/JCE de Sun
soportan “JKS”, “JCEKS” y “PKCS12”
Por defecto: “JKS”
-->
<!-- <type>JKS</type> -->
<!--
La ubicación del archivo. Si el nombre
es una ruta relativa, es relativo al directorio de inicio del motor de Servlet
.
Por defecto: archivo “.keystore” en el directorio raíz del usuario.
-->
<name>etc/keystore.jks</name>
<!--
La frase de contraseña para acceder al almacén de claves.
Por defecto: ""
-->
<passphrase>password</passphrase>
</key-store>
<!--
Especifique el nombre (corto) del par de teclas que se utilizará
para escuchar en este puerto.
-->
<key>
<!--
El nombre corto de la entrada del par de teclas
Por defecto: “mykey”
-->
<alias>self-signed</alias>
<!--
La contraseña para acceder al par de teclas
Predeterminado: ""
-->
<password>password</password>
</key>
</ssl>
<max-threads>128</max-threads>
</listener> - Reiniciar CQ5
- Pruebe la configuración visitando https://hostname:8889/
Habilitar HTTPS en CQ5 (CQ5.5, CQ5.6)
Consulte la documentación oficial aquí para obtener instrucciones.
Habilitar Stunnel en el servidor de dispatcher
- (En el servidor del dispatcher) Ejecute los siguientes comandos para instalar Stunnel:
sudo /sbin/chkconfig --add Stunnel
Si está utilizando un sistema operativo diferente, utilice el gestor de paquetes en el sistema operativo para descargar Stunnel o descárguelo desde el sitio de Stunnel http://www.stunnel.org. Luego, instálelo y configúrelo para que se ejecute en el inicio del sistema operativo. - Abra /etc/stunnel/stunnel.conf para editar usando este comando
sudo vi /etc/stunnel/stunnel.conf - Configurar stunnel.conf:
client = yes - Añadir lo siguiente a stunnel.conf (reemplace con el puerto de la instancia cq5)
accept = 8081
connect = :8889 - Iniciar Stunnel
Configurar el dispatcher CQ para que apunte al puerto Stunnel en lugar de a la instancia de publicación
- Reconfigure la sección /renders en el archivo dispatcher.any para que apunte al puerto 8081 127.0.0.1 en lugar de apuntar a la instancia CQ5 de destino. Vea aquí la documentación sobre la sección dispatcher.any
- Reinicie apache y compruebe que el dispatcher sigue funcionando cuando pasa por Stunnel.
Dispatcher 4.1.3 en adelante agregó soporte para SSL y ya no necesita Stunnel. Utilice el paquete de distribución que tiene un -ssl- en su nombre. Los ejemplos utilizan el paquete de distribución como [1].
A continuación se mencionan otros pasos generales de configuración. Consulte las notas de la versión de Dispatcher para obtener más detalles.
- Habilitar el soporte HTTPS en el AEM.
- Asegúrese de que OpenSSL v0.9.8 y la versión menor estén instalados.
- Configure el puerto seguro y añada el indicador de configuración segura a la sección /render en dispatcher.any. Ejemplo
/rend01
{
/hostname "10.60.183.34"
/port "9443"
/secure "1"
}
- Reescriba el encabezado de Ubicación HTTP si el servidor web y el protocolo backend (http/https) no coinciden.
[1]
dispatcher-apache2.0-aix-powerpc-ssl-4.1.5.tar.gz
dispatcher-apache2.2-solaris-sparcv9-ssl-4.1.5.tar.gz
dispatcher-apache2.0-linux-i686-ssl-4.1.5.tar.gz
dispatcher-apache2.2-windows-x86-ssl-4.1.5.zip
dispatcher-apache2.0-linux-x86-64-ssl-4.1.5.tar.gz
dispatcher-apache2.4-aix-powerpc64-ssl-4.1.5.tar.gz
dispatcher-apache2.0-solaris-amd64-ssl-4.1.5.tar.gz
dispatcher-apache2.4-darwin-x86-64-ssl-4.1.5.tar.gz
dispatcher-apache2.0-solaris-i386-ssl-4.1.5.tar.gz
dispatcher-apache2.4-linux-x86-64-ssl-4.1.5.tar.gz
dispatcher-apache2.0-solaris-sparc-ssl-4.1.5.tar.gz
dispatcher-apache2.4-solaris-amd64-ssl-4.1.5.tar.tar.gz
dispatcher-apache2.0-solaris-sparcv9-ssl-4.1.5.tar.gz
dispatcher-apache2.4-solaris-sparc-ssl-4.1.5.tar.gz
dispatcher-apache2.0-windows-x86-ssl-4.1.5.zip
dispatcher-apache2.4-solaris-sparcv9-ssl-4.1.5.tar.gz
dispatcher-apache2.2-aix-powerpc-ssl-4.1.5.tar.gz
dispatcher-iis-windows-x64-ssl-4.1.5.zip
dispatcher-apache2.2-aix-powerpc64-ssl-4.1.5.tar.gz
dispatcher-iis-windows-x86-ssl-4.1.5.zip
dispatcher-apache2.2-darwin-x86-64-ssl-4.1.5.tar.gz
dispatcher-ns-solaris-amd64-ssl-4.1.5.tar.gz
dispatcher-apache2.2-linux-i686-ssl-4.1.5.tar.gz
dispatcher-ns-solaris-i386-ssl-4.1.5.tar.tar.gz
dispatcher-apache2.2-linux-x86-64-ssl-4.1.5.tar.gz
dispatcher-ns-solaris-sparc-ssl-4.1.5.tar.gz
dispatcher-apache2.2-solaris-amd64-ssl-4.1.5.tar.gz
dispatcher-ns-solaris-sparcv9-ssl-4.1.5.tar.tar.gz
dispatcher-apache2.2-solaris-i386-ssl-4.1.5.tar.gz
dispatcher-ns-windows-x86-ssl-4.1.5.zip
dispatcher-apache2.2-solaris-sparc-ssl-4.1.5.tar.gz
Se aplica a
CQSE 4.x, Granite