AEM redirige l’utilisateur vers http lorsqu’il est accédé par SSL/TLS à l’équilibreur de charge arrêté

Description

Environnement

  • Experience Manager

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://.

Résolution

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"

  1. Connectez-vous au serveur du Dispatcher.
  2. Ouvrez la ferme de serveurs de Dispatcher .any configuration .
  3. Ajoutez l’en-tête à la section /clientheaders .

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 :

  1. Accédez à http://host:port/system/console/configMgr/org.apache.felix.http.sslfilter.SslFilteret connectez-vous en tant qu’administrateur.
  2. Définir SSL en-tête avant vers X-Forwarded-Proto.
  3. Définir SSL transférer la valeur vers https.
  4. 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 (équilibreur de charge adaptatif) utilise "X-Forwarded-Proto : en-tête "https".
  • Amazon Cloudfront CDN utilise "X-Cloudfront-Proto" : en-tête "https".

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 :

  • 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-la.

Sur cette page