【问题标题】:What is the difference between setting cache headers on CDN vs on aws s3 objects?在 CDN 和 aws s3 对象上设置缓存标头有什么区别?
【发布时间】:2021-03-03 18:13:26
【问题描述】:

我正在尝试弄清楚如何在不逐个清除的情况下清除一组 url(效率低且有问题)。

我也在试图弄清楚如何在不清除我们不想清除的内容的情况下做到这一点。

基本上,当我将更新的文件推送到我的 CDN 指向的 s3 存储桶时,我想清除所有已更改的文件,但不清除保持不变的文件。

我正在尝试找出在 CDN 上设置缓存标头与设置缓存标头之间的区别(我认为是 x-amz-meta-surrogate-key?)。

我能否以某种方式为更改的对象配置元数据(当我将它们推送到 s3 存储桶时),以便清除这些文件而不清除其他文件?

(对于它的价值,我正在快速使用 CDN 服务)。

【问题讨论】:

    标签: amazon-web-services amazon-s3 caching cdn fastly


    【解决方案1】:

    我正在尝试弄清楚如何在不逐个清除的情况下清除一组网址

    这通常通过在源响应上设置Surrogate-Key 来完成。您可以在多个不同页面上设置相同的“密钥”,以支持从一个清除请求中同时清除所有这些内容。

    例如:您可以让www.example.com/abc 发送Surrogate-Key: red bluewww.example.com/xyz 发送Surrogate-Key: green yellow red

    因此,使用 Fastly,您可以发出“按键清除”请求,这意味着您可以使用 blue 键清除 /abc 页面,因为它是该页面独有的(尽管在这种情况下,您不妨'purge by url'),但您可以通过使用键 red 发出“按键清除”请求来清除 /abc/xyz,因为该键已在两个页面的响应中设置。

    至于将其与 AWS S3 耦合,有一个 Fastly 文档页面可能会有所帮助...

    您可以使用代理键标记内容,并使用它一次清除特定 URL 组,而无需清除所有内容或单独清除每个 URL。在 Amazon S3 端,您可以使用 x-amz-meta-surrogate-key 标头来标记您认为合适的内容,然后在 Fastly 端设置 Header 配置以将 S3 信息转换为我们查看的标头为了。 -- https://docs.fastly.com/en/guides/setting-surrogate-key-headers-for-amazon-s3-origins

    其他一些可能对您有所帮助的 Fastly 材料:

    【讨论】:

      猜你喜欢
      • 2021-05-17
      • 2013-10-25
      • 2018-08-12
      • 2013-10-19
      • 2023-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多