我想指定 Amazon CloudFront 分配缓存对象的时间,因此在源上添加了 Cache-Control 或 Expires 标头。但是,CloudFront 并未在指定的时间内缓存对象,或者根本未进行任何缓存。为什么会发生这种情况?

您可以在源上使用缓存标头 (Cache-Control 或 Expires) 来设置 CloudFront 或 Web 浏览器缓存对象的时间。此外,您还可以为采用相同路径模式的所有对象自定义缓存持续时间 (“Minimum TTL”[最小 TTL]、“Default TTL”[默认 TTL] 和“Maximum TTL”[最大 TTL])。

请确保缓存持续时间的所有设置彼此之间不冲突。有关更多信息,请参阅指定 CloudFront 为 Web 分配缓存对象的时间

避免出现如下持续时间设置不一致的情况:

  • 如果将“Maximum TTL”(最大 TTL) 设置为 5 分钟 (300 秒) 并将 Cache-Control max-age 标头设置为 1 小时 (3600 秒),则 CloudFront 缓存对象的持续时间为 5 分钟,而不是 1 小时。
  • 如果将 Cache-Control max-age 标头设置为 3 小时并将 Expires 标头设置为 1 个月,则 CloudFront 缓存对象的持续时间为 3 小时,而不是 1 个月。
  • 如果将“Default TTL”(默认 TTL)、“Minimum TTL”(最小 TTL) 和“Maximum TTL”(最大 TTL) 设置为 0 秒,则 CloudFront 会充当代理,而不会缓存对象。

此页面对您有帮助吗? |

返回 AWS Support 知识中心

需要帮助? 请访问 AWS 支持中心

发布时间:2018 年 4 月 9 日