Warum speichert Amazon CloudFront Dateien nicht in dem von mir angegebenen Zeitraum?

Lesedauer: 2 Minute
0

Ich möchte festlegen, wie lange meine Amazon CloudFront-Distribution Objekte zwischenspeichert. Deshalb habe ich Cache-Control- oder Expires-Header für den Ursprung hinzugefügt. CloudFront speichert Objekte jedoch nicht für den von mir angegebenen Zeitraum oder CloudFront zwischenspeichert überhaupt nicht.

Behebung

Stellen Sie sicher, dass die Anweisungen, die Sie für die Cache-Control- oder Expires-Header festlegen, nicht miteinander in Konflikt stehen. Es hat sich bewährt, das Cache-Control-Max-Age-Direktive anstelle des Expires-Header zu verwenden. Wenn Sie Werte für beide angeben, verwendet CloudFront nur den Wert, den Sie für das Cache-Control-Max-Age festgelegt haben.

Stellen Sie sicher, dass die Minimum-TTL, die Standard-TTL, und die Maximum-TTL, die Sie in der CloudFront-Verteilung festlegen, nicht mit den Headern Cache-Control oder Expires in Konflikt stehen.

Wenn diese Einstellungen für die Cache-Dauern miteinander in Konflikt stehen, zwischenspeichert CloudFront Objekte möglicherweise nicht für die festgelegte Zeit oder CloudFront speichert möglicherweise überhaupt nicht. Vermeiden Sie diese Beispiele für Einstellungen der Cache-Dauer, die miteinander in Konflikt stehen:

  • Die maximale TTL ist auf 5 Minuten (300 Sekunden) und der Header des Cache-Control-Max-Age auf 1 Stunde (3600 Sekunden) festgelegt. In diesem Fall speichert CloudFront das Objekt für 5 Minuten statt für 1 Stunde.
  • Das Cache-Control-Max-Age-Header ist auf 3 Stunden und der Expires-Header auf 1 Monat festgelegt. In diesem Fall speichert CloudFront das Objekt für 3 Stunden statt für 1 Monat.
  • Die Standard-, Minimal- und Maximal-TTLs sind auf 0 Sekunden festgelegt. In diesem Fall überprüft CloudFront immer, ob es die neuesten Inhalte vom Ursprung enthält.
  • Die minimale TTL ist auf 60 Sekunden, die Standard-TTL auf 300 Sekunden und die maximale TTL auf 3600 Sekunden eingestellt. Wenn der Ursprung keine Cache-Header wie Cache-Control-Max-Age oder Expires bereitstellt, speichert CloudFront das Objekt für die Standard-TTL-Dauer im Cache.

**Wichtig:**Wenn Sie eine Ursprungs-Ressource mit einem Caching-Header aktualisieren, spiegelt CloudFront die Änderung erst wider, nachdem CloudFront eine neue Anfrage an Ihren Ursprung gestellt hat. CloudFront sendet eine neue Anfrage an Ihren Ursprung, wenn die zwischengespeicherte Ressource an den Edge-Standorten abläuft. Anschließend erhält Ihre Distribution eine neue Anfrage für die Ressource. Um CloudFront zu zwingen, das Update zu übernehmen, bevor die zwischengespeicherte Ressource abläuft, machen Sie den Cache ungültig.

Verwandte Informationen

Objekt-Caching

Verwaltung der Verweildauer von Inhalten im Cache (Ablauf)

Steuern, wie lange CloudFront Fehler zwischenspeichert

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 8 Monaten