AEM redirige vers http lorsque l’accès se fait par SSL/TLS et l’équilibreur de charge arrêté

Cet article traite du problème Experience Manager où vous êtes redirigé de https vers http lorsque vous tentez d’y accéder par le biais d’un équilibreur de charge arrêté SSL (ou d’un CDN arrêté par 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 l’intermédiaire de https:// ; Dispatcher/Web Server et AEM sont accessibles sur le serveur principal via http://.

Résolution resolution

Pour résoudre le problème :

I.Update Dispatcher /clientheaders configuration

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 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 répartiteur. Si vous utilisez le serveur Apache HTTP, 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.SslFilter et connectez-vous en tant qu’administrateur.
  2. Définissez l’en-tête de transfert SSL sur X-Forwarded-Proto.
  3. Définissez la valeur de transfert SSL sur 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 l’en-tête "X-Forwarded-Proto: https".
  • Le réseau de diffusion de contenu 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 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 l’équilibreur proxy/charge et enregistrez-le.

Cause

Différents équilibreurs de charge envoient différents en-têtes pour avertir les systèmes back-end que SSL est arrêté en amont. Par exemple, Amazon ELB utilise l’en-tête "X-Forwarded-Proto: https".

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f