使用 Amazon s3 和 Cloudfront 设置过期标头和缓存过期的最佳方法是什么

Tom*_*lle 7 amazon-s3 amazon-cloudfront

我们在 s3 上有一大堆照片。我们每天都会添加和删除它,但它目前有数百万张照片,如果可能,我们不想重写或更新。

我们没有在这些现有照片上设置任何过期标题。

我刚刚启动了 cloudfront 并将其指向我们的存储桶。

我现在有两个目标:

  1. 使用版本控制让旧照片从 Cloudfront 过期。
  2. 在某处(S3、CloudFront)设置 Far Future Expire 标头以通知浏览器他们应该永远保留这些文件。

这提出了几个问题。我可以通过一种设置实现上述两个目标吗?

我可以在存储桶级别、单张照片级别或云端级别进行此设置吗?

最好能够在 cloudfront 或 S3 存储桶级别进行任何缓存和远期过期标头设置,而不用担心单个照片级别的这些设置,特别是考虑到我们有数百万张照片没有这些设置已经在 s3 中。

感谢您的帮助,非常感谢!

Sne*_*ove 6

不幸的是,您在 S3 中的单个项目级别添加了缓存控制。我不知道您是否可以在存储桶级别执行此操作。

但是,您可以使用第 3 方工具(例如CloudBerry Explorer)一次对多个项目执行此操作

我已经为某些项目完成了此操作,以下是来自 AWS Web 控制台的屏幕截图:

在此处输入图片说明

该值以秒为单位。

S3 也支持版本控制,但我个人没有玩过它。

就 Cloudfront 而言,您只需要弄乱它以使旧版本的文档无效。即您已经更改了 index.html 文件,并且您需要 Cloudfront 立即删除它(现在)过时的副本。使文件无效,浏览站点的用户将从 S3 获得更新的副本。