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:
- Stellen Sie sicher, dass jede Dispatcher-Farm mit unterschiedlichen virtuellen Host-Mustern konfiguriert ist, die eng mit den vorgesehenen Domains übereinstimmen.
- Richten Sie Ihre virtuellen Apache-Hosts so ein, dass jeder ServerName oder ServerAlias eindeutig jeder Domain entspricht.
- Fügen Sie in lokalen Umgebungen Einträge in der Hosts-Datei hinzu, die jede Domain der entsprechenden IP-Adresse zuordnen.
- Konfigurieren Sie Ihre AEM-Flush-Agenten so, dass sie Host-basierte URLs anstelle von localhost-URLs verwenden.
- 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.
- Vergewissern Sie sich, dass Apache ohne Konflikte auf dem richtigen Port lauscht (z. B. Port 80).
- Ü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