Environnement
Problèmes/symptômes
Lors de l’accès à AEM par le biais d’un équilibreur de charge terminé par SSL (ou d’un réseau de diffusion de contenu arrêté par SSL), AEM redirige de https vers http.
La terminaison SSL au niveau de la répartition de charge signifie que les certificats SSL sont installés dans la répartition de charge. L’utilisateur final accède au site par l’intermédiaire de https://, et Dispatcher/Web Server et AEM sont accessibles sur le serveur principal via http://.
Cause
Les différents équilibreurs de charge envoient différents en-têtes pour avertir les systèmes principaux que SSL est arrêté en amont. Par exemple : Amazon ELB utilise l’en-tête « X-Forwarded-Proto: https ».
de
Pour résoudre le problème :
I. Mise à jour de la configuration de Dispatcher /clientheaders
Consultez la documentation de votre répartition de charge pour savoir quel en-tête elle définit pour avertir les systèmes en aval qu’elle a terminé le protocole SSL. Pour plus de simplicité, dans ces étapes, nous supposons que l’en-tête HTTP correct est "X-Forwarded-Proto : https"
Si vous utilisez le répartiteur sans équilibreur de charge ou si votre équilibreur de charge ou votre proxy ne parvient pas à définir la variable X-Forwarded-Proto , puis vous pouvez le définir au niveau du serveur web ou du dispatcher. Si vous utilisez Apache HTTP Serveur, puis mettez à jour votre HTTPS VirtualHost avec cette directive :
1 | RequestHeader set X-Forwarded-Proto "https" |
---|
II. Mettez à jour les configurations d’en-tête :
http://host:port/system/console/configMgr/org.apache.felix.http.sslfilter.SslFilter
et connectez-vous en tant qu’administrateur.Remarque :
Il n’existe pas de norme pour les en-têtes de proxy inverse qui indiquent au serveur principal quel protocole est utilisé. Cependant, voici quelques-uns des noms connus :
III. Mettre à jour la configuration OSGi Jetty (AEM 6.3 et versions ultérieures)
Sur AEM version 6.3 et ultérieure, une configuration supplémentaire est requise :
http://aem-host:port/system/console/configMgr/org.apache.felix.http.