【问题标题】:Disabling Cache for CloudFront为 CloudFront 禁用缓存
【发布时间】:2018-05-03 14:32:57
【问题描述】:

我正在使用自己的域通过 CloudFront 提供 HTTPS s3 存储桶。我不希望它缓存,因为它用于 QA 环境。

我想知道我怎么能做到这一点。是使用 Origin Cache Headers 还是自定义 0 Time To Live?

【问题讨论】:

  • 如果您看到缓存的内容并想要清除缓存,您可以通过导航到 CloudFront 分配 > 失效 > 创建失效然后输入“*”(所有内容)作为您希望失效的对象。
  • @blairnangle 该解决方案的成本约为 0.005 美元。目的。所以这真的是核选项。有几种免费的方法可以做到这一点:aws.amazon.com/premiumsupport/knowledge-center/…
  • 在 [Behavior] 部分下,选择缓存策略:[Managed-CachingDisabled]

标签: amazon-s3 https amazon-cloudfront


【解决方案1】:

请使用 AWS 管理控制台 (CloudFront) 中的自定义选项(行为 -> 缓存行为设置),并相应地输入最小 TTL、默认 TTL 和最大 TTL 的值。

最小 TTL

指定您需要对象的最短时间(以秒为单位) 在 CloudFront 转发另一个缓存之前留在 CloudFront 缓存中 请求您的来源以确定该对象是否已被 更新。最小 TTL 的默认值为 0 秒。

最大 TTL

指定您想要对象的最长时间(以秒为单位) 在 CloudFront 查询您的源之前留在 CloudFront 缓存中 查看对象是否已更新。您指定的值 最大 TTL 仅在您的源添加 HTTP 标头时适用 作为 Cache-Control max-age、Cache-Control s-maxage 或 Expires to 对象。

默认 TTL

指定您想要对象的默认时间量(以秒为单位) 在 CloudFront 转发另一个缓存之前留在 CloudFront 缓存中 请求您的来源以确定该对象是否已被 更新。您为默认 TTL 指定的值仅适用于 您的源不添加 HTTP 标头,例如 Cache-Control max-age, Cache-Control s-maxage,或过期对象。

【讨论】:

    【解决方案2】:

    现在,您可以简单地为云端行为设置缓存禁用策略。

    在 AWS 云端控制台上:

    • 转到您的发行版 -> 行为选项卡
    • 编辑行为
    • Cache key and origin requests 标头下 -> 选择 缓存禁用政策

    【讨论】:

      猜你喜欢
      • 2017-03-03
      • 2019-03-13
      • 2020-07-16
      • 2017-10-02
      • 1970-01-01
      • 2020-03-05
      • 2017-01-30
      • 2016-05-06
      • 2019-05-03
      相关资源
      最近更新 更多