Deaktivieren von Fastly CDN-Caching in AEM as a Cloud Service
Fastly ist immer Teil des Pfads zur Inhaltsbereitstellung in AEM as a Cloud Service und kann nicht entfernt werden. Unerwartetes Caching tritt auf, Cache-Control oder Surrogate-Control Kopfzeilen fehlen, überschrieben oder nicht konsistent auf alle Ressourcen angewendet werden. In Umgebungen, die ein vom Kunden verwaltetes CDN verwenden, können falsche Weiterleitungs-Header auch das Cache-Verhalten und die Weiterleitungsverarbeitung beeinflussen.
Um das Problem zu beheben, konfigurieren Sie cache-control-Header korrekt, validieren Sie CDN-Einstellungen und überprüfen Sie das Fastly-Pass-Through-Verhalten.
Beschreibung description
Umgebung
- Adobe Experience Manager as a Cloud Service (AEMaaCS)
- Eigene CDN-Bereitstellungen (BYOCDN) einbringen
- Dispatcher-Konfigurationen
- CDN-Konfiguration mithilfe von
cdn.yaml
Problem/Symptome
- Fastly
x-cache-Header zeigt „MISS“ oder „SYNTH“ an, wenn eine Cache-Umgehung erwartet wird. - Fastly speichert bestimmte Dateitypen trotz konfigurierter Kopfzeilen von Cache-Steuerelementen zwischen.
Surrogate-ControloderSurrogate-KeyKopfzeilen werden nicht am Edge angezeigt.- Personalisierte Inhalte zeigen inkonsistentes Verhalten an, da zwischengespeicherte Fragmente wiederverwendet werden.
- Unerwartete Weiterleitungen treten auf, wenn Anfragen mehrere CDN-Ebenen durchlaufen.
Ursache
Fastly ist eine integrale Komponente der Adobe Experience Manager as a Cloud Service-Bereitstellungsarchitektur und bleibt jederzeit im Anfragepfad. Fastly speichert Inhalte zwischen, wenn Cache-Control- oder Surrogate-Control-Kopfzeilen fehlen, unvollständig sind, überschrieben werden oder auf verschiedene Ressourcentypen inkonsistent angewendet werden. Einige Asset-Typen, z.vtt files B. , erfordern explizite Cache-Steuerungsregeln. In BYOCDN-Bereitstellungen können falsche X-Forwarded-Host oder X-Forwarded-Proto verschiedene Cache-Schlüssel erstellen, was zu unerwartetem Caching- oder Umleitungsverhalten führt.
Lösung resolution
Führen Sie diese Schritte aus, um das Problem zu beheben
- Überprüfen Sie die Antwort-Header und stellen Sie sicher, dass
Cache-ControlundSurrogate-Controlin den betroffenen Antworten angezeigt werden. - Vergewissern Sie sich, dass
Surrogate-ControlWerte wie max-age=0 oder no-store enthält, die eine Fastly-Zwischenspeicherung verhindern. - Aktualisieren Sie die Konfiguration des virtuellen Hosts von Dispatcher
Cache-Controlsodass - undSurrogate-Control-Header konsistent auf HTML, JSON, Assets und andere Ressourcentypen angewendet werden. Fügen Sie explizite Regeln für Ressourcentypen hinzu, die die erforderlichen Kopfzeilen nicht erben. - Stellen Sie sicher, dass das vom Kunden verwaltete CDN die Fastly-Cache-Steueranweisungen nicht überschreibt.
- Überprüfen Sie die CDN-Protokolle und stellen Sie sicher, dass das vom Kunden verwaltete CDN das Caching durchführt, während Fastly im Pass-Through-Modus ausgeführt wird.
- Konfigurieren Sie die Cache-Umgehung in
cdn.yaml, wenn kopfzeilenbasierte Steuerelemente das erwartete Verhalten nicht erreichen. Stellen Sie die aktualisierte Konfiguration über Cloud Manager bereit und überprüfen Sie, ob die Bereitstellung erfolgreich abgeschlossen wurde. - Validieren Sie das Multi-CDN-Routing, indem Sie bestätigen
Hostdass die ursprünglichenX-Forwarded-ProtoHeader und -Header) über die gesamte CDN-Kette hinweg korrekt weitergeleitet werden. - Überprüfen Sie die Implementierung der Fragmentzwischenspeicherung und stellen Sie sicher, dass personalisierte Fragmente nicht zwischengespeichert werden.
- Überprüfen Sie, ob dynamische Antworten die entsprechenden nicht zwischenspeicherbaren Kopfzeilen zurückgeben.
- Konfigurieren Sie
Surrogate-Key-Kopfzeilen, wenn Bereinigungs-Workflows auf der schlüsselbasierten Invalidierung basieren. - Aktivieren Sie das schnelle Debugging und stellen Sie sicher, dass in den Antwort-Headern Ersatzschlüssel angezeigt werden.
- Validieren Sie die endgültige Konfiguration, indem Sie bestätigen, dass Fastly „PASS“ zurückgibt, dass das kundenverwaltete CDN-Cache erwartungsgemäß zwischenspeichert und dass sich Cache-Bereinigungsvorgänge korrekt verhalten.