Problème

Lors de l'accès à AEM via un équilibreur de charge à terminaison SSL (ou un CDN terminé par SSL), AEM redirige les retours de https vers http.

La fermeture SSL à l’équilibreur de charge signifie que les certificats SSL sont installés dans l’équilibreur de charge. L’utilisateur final accède au site par https:// et le serveur Dispatcher/Web Server et AEM sont accessibles sur l’arrière-plan avec http://.

Cause

Les différents équilibreurs de charge envoient des en-têtes différents pour avertir les systèmes dorsaux que SSL est terminé en amont. Par exemple, Amazon ELB utilise l'en-tête "X-Forwarded-Proto: https".

Résolution

Pour résoudre le problème :

I. Installer le correctif 6922:

Si vous êtes sur AEM6.0 ou 6,1 :

  1. Contactez AEM Service clientèle et demandez le correctif 6922. Le correctif est pour AEM 6.0, mais il fonctionne également sur AEM 6.1.

  2. Accédez à http://aem-host:port/crx/packmgr/index.jsp et connectez-vous en tant qu'administrateur.

  3. Installez le fichier zip du correctif sur le package manager AEM.

    Remarque :

    Ce correctif permet d’éviter un problème lorsque l’ancre d’URL est perdue pendant la redirection mise à jour par le filtre Apache Felix SSL.  Par exemple, https://host/cf#/content/geometrixx/en.html redirected sera redirigé vers https://host/cf sans cette correction.

II. Mettre à jour de la configuration de Dispatcher / clientheaders

Reportez-vous à la documentation de votre équilibreur de charge pour savoir quel en-tête il définit pour avertir les systèmes en aval qu'il a mis fin à SSL. Pour simplifier, dans ces étapes, nous supposons que l'en-tête HTTP correct est "X-Forwarded-Proto: https"

  1. Connectez-vous au serveur de pointage.

  2. Ouvrez la batterie du distributeur .toute 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 l'en-tête X-Forwarded-Proto, vous pouvez le définir au niveau du serveur Web ou du répartiteur. Si vous utilisez Apache HTTP Server, mettez à jour votre VirtualHost HTTPS avec cette directive :

RequestHeader set X-Forwarded-Proto "https"

III. Mettre à jour les configurations d’en-tête :

  1. Atteindre http://host:port/system/console/configMgr/org.apache.felix.http.sslfilter.SslFilter et connectez-vous en tant qu'administrateur.

  2. Définir l'en-tête avant du SSL sur X-Forward-Proto.

  3. Définir la valeur en avant de SSL sur https.

  4. Cliquez sur Enregistrer.

Remarque :

Il n’existe aucune norme pour les en-têtes proxy inverses qui indiquent le protocole final utilisé. Voici quelques exemples :

  • Amazon ELB (Équilibreur de charge électrique) utilise l’en-tête « X-Forwarded-Proto: https ».
  • Amazon Cloudfront CDN utilise l’en-tête « X-Cloudfront-Proto: https ».

IV. Mettez à jour la configuration de la renvoyée OSGi (AEM 6.3 et les versions ultérieures)

Sur AEM 6.3 et les versions ultérieures, une configuration supplémentaire requise :

  1. Ouvrez une session http://aem-host:port/system/console/configMgr/org.apache.felix.http.

  2. Activez le paramètre Activer connexion de l'équilibreur proxy/charge, et sauvegardez-le.

  3. Rechercher le Service d'authentification Sling et ouvrir la configuration.

  4. Désélectionner Autoriser l'accès anonyme.

  5. Cliquez sur Enregistrer.

Pour plus de détails sur ce problème, consultez l'article sur la solution.

Ce produit est distribué sous licence Creative Commons Attribution - Pas d’utilisation commerciale - Partage à l’identique 3.0 non transposé  Les publications Twitter™ et Facebook ne sont pas couvertes par les dispositions Creative Commons.

Mentions légales   |   Politique de confidentialité en ligne