【发布时间】:2018-06-22 11:52:10
【问题描述】:
我有一个 S3 存储桶,其中包含 index.html、index.js 和 index.css;静态网站。
我正在使用 CloudFront 分发此 S3 存储桶。
我正在使用 CodePipeline 和 CodeBuild 的组合来更新我的 S3 存储桶中的文件。
使用此设置 - 人们可能会看到我网站的旧版本。我可以做的一件事是设置一个 Lambda,当 CodePipeline 和 CodeBuild 更新 S3 存储桶中的文件时,它会使 CloudFront 中缓存的 S3 存储桶无效。
问题是它很贵,所以我正在寻找替代品。
我想到的一个解决方案是在我的 S3 存储桶中引入一个目录结构,如下所示:
v1
|
_ index.html
_ index.js
_ index.css
v2
|
_ index.html
_ index.js
_ index.css
...
通过此设置,是否可以让 CloudFront 指向我的网站的最新版本?这会比缓存失效更便宜。
【问题讨论】:
-
stackoverflow.com/a/10622078/2231632 - 您可能希望将 TTL 设置为 0 并利用正确的 http 标头语义来查看是否可以帮助解决您的问题。
标签: amazon-web-services amazon-s3 amazon-cloudfront