Configurer l’éviction ciblée du cache avec plusieurs fermes Dispatcher dans AEM

La configuration de plusieurs fermes Dispatcher dans AEM peut entraîner un routage incorrect des requêtes de purge du cache lors de l’utilisation des URL localhost. Cet article explique comment configurer un second agent de vidage Dispatcher avec des URL basées sur l’hôte pour s’assurer que l’éviction du cache GraphQL cible le domaine et la racine docroot appropriés.

Description description

Environnement

  • Produit : Adobe Experience Manager (AEM) On-Premise
  • Version : 6.5
  • Version Apache : 2.2 (test local)
  • Configuration : plusieurs fermes et hôtes virtuels sur la même instance Apache ; docroots distincts par domaine

Problème/Symptômes

  • Les requêtes de vidage du cache destinées à des domaines spécifiques sont incorrectement acheminées vers la même batterie de serveurs, ce qui fait que toutes les invalidations n’affectent qu’un seul docroot, quel que soit le chemin ou le domaine demandé.
  • Cela se produit lors de l’utilisation des URL localhost dans les agents de vidage, ce qui entraîne le traitement de toutes les requêtes par la dernière batterie de serveurs chargée en raison de l’évaluation de l’en-tête hôte.

Résolution resolution

Pour résoudre ce problème, procédez comme suit :

  1. Assurez-vous que chaque batterie de serveurs Dispatcher est configurée avec des modèles d’hôtes virtuels distincts qui correspondent étroitement à son ou ses domaine(s) prévu(s).
  2. Configurez vos hôtes virtuels Apache de sorte que chaque ServerName ou ServerAlias corresponde de manière unique à chaque domaine.
  3. Pour les environnements locaux, ajoutez des entrées dans le fichier de vos hôtes mappant chaque domaine à l’adresse IP appropriée.
  4. Configurez vos agents de vidage AEM pour utiliser des URL basées sur l’hôte plutôt que des URL localhost.
  5. Si les serveurs de publication et Dispatcher se trouvent sur des machines différentes, assurez-vous que la résolution de fichier DNS ou hôtes du serveur de publication pointe ces noms d’hôtes vers l’adresse IP du serveur Dispatcher.
  6. Vérifiez qu’Apache écoute sur le port correct (par exemple, le port 80) sans conflit.
  7. Vérifiez que les demandes d’invalidation du cache envoyées via les agents de vidage atteignent leurs fermes et racines respectives en observant le comportement correct du routage.

Remarques :

  • Dispatcher évalue les fermes en fonction strictement de l’en-tête de l’hôte HTTP, et non des segments de chemin URL.
  • L’utilisation de localhost dans les URL de l’agent de vidage entraîne la définition de tous les en-têtes d’hôte de la requête en tant que localhost, ce qui entraîne le routage de secours vers la dernière batterie de serveurs chargée.
  • La configuration décrite fonctionne que la publication et Dispatcher s’exécutent sur le même serveur ou sur des serveurs distincts, à condition que la résolution du nom d’hôte soit correctement configurée.
  • Aucune modification supplémentaire n’est requise si Apache écoute déjà sur le port 80 avec les mappages d’hôte appropriés.
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f