我正在为我的javascript和css文件实施AWS Cloudfront版本控制,以便自动更新Cloudfront缓存,这样我就不必手动使我的文件无效。我在S3中托管静态网站内容。我部署新更改的过程如下。使用webpack构建网站,自动哈希我的js和css文件。 Web包还更新了我的index.html文件中对js和css文件的引用(不是这个文件没有版本化)。然后,我将新生成的静态网站从我的dist文件夹复制到我的S3存储桶。根据文档,我应该自动看到我的更改,而不必使分发中的每个文件无效,但我没有。我想知道我是否错过了一步。起初我认为index.html可能需要进行版本控制,但文档明确指出不要对根文档对象进行版本控制。所以我的问题是......我错过了什么?具有新版本的js和css文件的index.html文件是否也需要进行版本控制?如果是这样我怎么能做到这一点?
http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/ReplacingObjects.html
第46页:https://d0.awsstatic.com/whitepapers/Storage/Building%20Static%20Websites%20on%20AWS.pdf
答案 0 :(得分:0)
我为此苦了很长时间。最终,我发现以下工作有效:
对于最后一步,您可以使用AWS CLI:
aws s3 cp s3://bucket/index.html s3://bucket/index.html
--metadata-directive REPLACE --cache-control max-age=0