AEM redirige vers http lorsqu’il est accessible via la répartition de charge avec terminaison SSL/TLS
Cet article traite du problème d’Experience Manager en raison duquel vous êtes redirigé de https vers http lors d’une tentative d’accès via une répartition de charge à terminaison SSL (ou un réseau CDN à terminaison SSL).
Description description
Environnement
Experience Manager
Problèmes/Symptômes
Lors de l’accès à AEM par le biais d’une répartition de charge à terminaison SSL (ou réseau CDN à terminaison 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 le biais de https://. Le serveur Dispatcher/Web Server et AEM sont accessibles sur le serveur principal avec http://.
Résolution resolution
Pour résoudre le problème :
I.Mettre à jour la configuration 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 »
- Connectez-vous au serveur du Dispatcher.
- Ouvrez la configuration /any de la ferme de Dispatchers.
- Ajoutez l’en-tête à la section /clientheaders .
Si vous utilisez le Dispatcher sans répartition de charge ou si votre répartition de charge ou votre proxy ne parvient pas à définir l’en-tête X-Forwarded-Proto, vous pouvez le définir au niveau du serveur web ou du Dispatcher. Si vous utilisez Apache HTTP Server, mettez à jour votre HTTPS VirtualHost avec cette directive :
RequestHeader set X-Forwarded-Proto "https"II. Mettez à jour les configurations d’en-tête :
- Accédez à
http://host:port/system/console/configMgr/org.apache.felix.http.sslfilter.SslFilteret connectez-vous en tant qu’administrateur. - Définissez l’en-tête de transfert SSL sur X-Forwarded-Proto.
- Définissez la valeur de transfert SSL sur https.
- Cliquez sur Enregistrer.
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 :
- Amazon ELB (Elastic Load Balancer) utilise l’en-tête « X-Forwarded-Proto: https ».
- Le réseau CDN Amazon Cloudfront utilise l’en-tête « X-Cloudfront-Proto: https ».
III. Mettre à jour la configuration OSGi Jetty (AEM 6.3 et versions ultérieures)
Sur AEM 6.3 et les versions ultérieures, une configuration supplémentaire est requise :
- Connectez-vous à
http://aem-host:port/system/console/configMgr/org.apache.felix.http. - Activez le paramètre Activer la connexion de la répartition de charge/proxy et enregistrez-le.
Cause
Les différentes répartitions de charge envoient différents en-têtes pour informer les systèmes principaux que SSL est terminé en amont. Par exemple, Amazon ELB utilise l’en-tête « X-Forwarded-Proto: https ».