Einrichten einer gezielten Cache-Entfernung mit mehreren Dispatcher-Farmen in AEM

Die Konfiguration mehrerer Dispatcher-Farmen in AEM kann dazu führen, dass Cache-Flush-Anfragen bei der Verwendung von localhost-URLs falsch weitergeleitet werden. In diesem Artikel wird erläutert, wie Sie einen zweiten Dispatcher-Flush-Agenten mit Host-basierten URLs einrichten, um sicherzustellen, dass die GraphQL-Cache-Entfernung auf die richtige Domain und den richtigen Stamm abzielt.

Beschreibung description

Umgebung

  • Produkt: Adobe Experience Manager (AEM) On-Premise
  • Version: 6.5
  • Apache-Version: 2.2 (lokale Tests)
  • Konfiguration: Mehrere Farmen und virtuelle Hosts auf derselben Apache-Instanz; separate Doctroots pro Domain

Problem/Symptome

  • Cache-Löschanfragen für bestimmte Domains werden fälschlicherweise an dieselbe Farm weitergeleitet, sodass alle Invalidierungen unabhängig vom angeforderten Pfad oder der angeforderten Domain nur einen Stamm betreffen.
  • Dies tritt auf, wenn localhost-URLs in Flush-Agenten verwendet werden, was dazu führt, dass alle Anforderungen aufgrund der Auswertung des Host-Headers von der zuletzt geladenen Farm verarbeitet werden.

Lösung resolution

Gehen Sie wie folgt vor, um dieses Problem zu beheben:

  1. Stellen Sie sicher, dass jede Dispatcher-Farm mit unterschiedlichen virtuellen Host-Mustern konfiguriert ist, die eng mit den vorgesehenen Domains übereinstimmen.
  2. Richten Sie Ihre virtuellen Apache-Hosts so ein, dass jeder ServerName oder ServerAlias eindeutig jeder Domain entspricht.
  3. Fügen Sie in lokalen Umgebungen Einträge in der Hosts-Datei hinzu, die jede Domain der entsprechenden IP-Adresse zuordnen.
  4. Konfigurieren Sie Ihre AEM-Flush-Agenten so, dass sie Host-basierte URLs anstelle von localhost-URLs verwenden.
  5. Wenn sich Veröffentlichungs- und Dispatcher-Server auf unterschiedlichen Computern befinden, stellen Sie sicher, dass die DNS- oder Host-Dateiauflösung vom Veröffentlichungsserver diese Hostnamen auf die IP-Adresse des Dispatcher-Servers verweist.
  6. Vergewissern Sie sich, dass Apache ohne Konflikte auf dem richtigen Port lauscht (z. B. Port 80).
  7. Überprüfen Sie, ob Cache-Invalidierungsanfragen, die über Flush-Agenten gesendet werden, ihre jeweiligen Farmen und Ärzte erreichen, indem Sie das richtige Routing-Verhalten beobachten.

Hinweise:

  • Dispatcher bewertet Farmen ausschließlich anhand der HTTP-Host-Kopfzeile und nicht anhand von URL-Pfadsegmenten.
  • Durch die Verwendung von localhost in URLs des Flush-Agenten werden alle Host-Header der Anfragen als localhost festgelegt, was zu einem Fallback-Routing zur zuletzt geladenen Farm führt.
  • Die beschriebene Konfiguration funktioniert unabhängig davon, ob Publish und Dispatcher auf denselben oder separaten Servern ausgeführt werden, vorausgesetzt, die Host-Namensauflösung ist korrekt eingerichtet.
  • Es sind keine zusätzlichen Änderungen erforderlich, wenn Apache bereits Port 80 mit ordnungsgemäßen Host-Zuordnungen überwacht.
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f