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. Mettre à jour 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 .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 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"

II. 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 ».

III. 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.