So habe ich meine eckige App auf s3 mit einer Cloudfront dist gehostet. Ich revisioniere Dateien (mit grunt filerev), um sicherzustellen, dass ich nie veraltete Inhalte bekomme. Aber wie sollte ich die Datei index.html versionieren? Dies ist erforderlich, da alle anderen Dateien in index.html referenziert werden.Wie wird der Cache von index.html für eine statische Site ungültig, die auf S3 mit Cloudfront gehostet wird?
Ich habe meinen Bucket so konfiguriert, dass er als statische Site verwendet werden kann. Also greift es einfach auf die index.html zu, wenn ich auf den Bucket in der URL referenziere.
Cloudfront sagt, dass Sie min TTL auf 0 setzen sollten, also würde es immer Ursprung treffen, um den Inhalt zu liefern. Aber ich brauche das nicht, da ich alle meine Dateien revisioniere (außer index.html). Ich kann cdn Caching für diese Dateien nutzen.
Sie sagen auch, dass, um ein einzelnes Objekt zu entkräften, die max-age-Header auf 0 gesetzt ich versuchte, indem folgend meinen index.html
<meta http-equiv="Cache-Control" content="public, must-revalidate, proxy-revalidate, max-age=0"/>
Aber das entspricht nicht einmal Sie laden auf s3. Muss ich Header mit s3cmd oder dem Dashboard explizit auf s3 setzen? Und muss ich das jedes Mal tun, wenn sich index.html ändert und ich es hochlade?
Ich bin mir bewusst, dass ich eine einzelne Datei mit cmd ungültig machen könnte, aber es ist ein sich wiederholender Prozess und es wäre toll, wenn es sich selbst kümmern kann, nur durch die Bereitstellung auf s3.
Related: [Wie CloudFront-Cache löschen] (https://webapps.stackexchange.com/q/12526/22759). – kenorb