2016-09-15 1 views
0

Unsere auf CloudFront gehostete Website wurde seit fast 24 Stunden nicht mehr aktualisiert.AWS CloudFront-Website wird nicht aktualisiert

Die CloudFront-Invalidierung hat einige der Dateien aktualisiert. Ich kann auf S3 sehen, dass alle Dateien aktualisiert worden sind. Ein GET für diese Dateien Ich kann sehen, die Zeitstempel sind alle korrekt außer für eine der Dateien (ein Javascript minimified Datei namens app.min.js), die immer noch einen alten Zeitstempel hat. Wenn Sie sich jedoch S3 ansehen, enthält die Datei app.min.js den korrekten aktualisierten Zeitstempel. Erzwingt ein No-Cache für die Datei, die app.min.js spiegelt immer noch die alte Datei.

Hat jemand irgendwelche Vorschläge, was hier passieren könnte?

Antwort

1

Ihre Dateien werden noch irgendwo zwischengespeichert. Wenn es nicht in CloudFront zwischengespeichert wird, wird es möglicherweise in Ihrem Browser oder irgendwo zwischen CloudFront und Ihnen zwischengespeichert.

Wenn Sie die CloudFront-Verteilung ungültig machen, wird der Cache in Ihrem Browser nicht ungültig. Stellen Sie also sicher, dass Sie einen neuen Browser verwenden, um dies zu testen. Besser noch, verwenden Sie curl.

  • Invalidate Cloudfront wieder
  • Ihrem Browser neu starten
  • Verwenden Sie einen anderen Browser
  • Verwenden Sie einen anderen Computer
  • Verwenden curl zu vermeiden lokalen Caches

alles tun um die Möglichkeit auszuschließen eine gecachte Version zu treffen.

auch:

  1. Hinzufügen „kein Cache“ in einer Datei auf S3 wird keine Auswirkungen auf die im Cache gespeicherte Version in Cloudfront haben. Sie müssen den Cache erneut ungültig machen, um CloudFront zum Abrufen der neuen Version zu zwingen.
  2. Die Standard-TTL für CloudFront ist 24 Stunden. Sobald es also 24 Stunden lang ist, sollte es die Datei vom Ursprung zurückholen. Sie können sich die Header ansehen, um zu sehen, wie lange es dauert, bis der TTL-Wert abgelaufen ist.
+0

Danke für die Hilfe Matt. Ok ich bin immer noch verwirrt. Mit 'curl' erhalten wir die neueste Version, aber über einen Browser und ein Netzwerk (versuchtes Heim/Arbeitscomputer und verschiedene Browser) wird die Datei nicht aktualisiert. –

+0

Hmm, und curl kann nicht die neuesten mit der Anfrage Header 'Accept-Encoding: gzip, deflate, sdch, br 'Die gleiche Anfrage Header, die Chrome verwendet –

+0

Yah es könnte doppelt gzipping die Datei, testet jetzt. Ich veröffentliche mit awspublish npm-Paket in gulp '.pipe (awspublish.gzip ({ext: ''}))' und cloudfront könnte wieder ghipping sein doh –