CloudFront是否在来自原点的错误响应(例如503)中使用Cache-Control标头?

时间:2016-05-04 14:29:17

标签: amazon-web-services caching amazon-cloudfront

CloudFront是否在来自原点的错误回复(例如Cache-Control)中使用max-age标题(例如503)?或者,错误响应缓存的长度总是由分布上配置的错误缓存最小TTL控制?包含“最小”一词表示错误缓存的行为可能类似于原始提供Cache-Control max-age时非错误缓存的行为,但有关此主题的文档似乎没有明确确认那个建议。

1 个答案:

答案 0 :(得分:5)

如果CloudFront大于错误缓存最小TTL(默认值为5分钟),则会在Web来源的错误响应中尊重Cache-Control max-age个标头。

如果原点设置的max-age小于错误缓存最小TTL,则CloudFront会缓存错误缓存最小TTL的响应,但会将原点设置的max-age传递给不受干扰的客户端

同样,如果原点将Cache-Control设置为must-revalidate,no-cache,no-store,则CloudFront会缓存错误缓存最小TTL的响应,但会将原点设置的Cache-Control标头传递给未受干扰的客户端。

可以针对错误代码400403404405414416自定义错误缓存最小TTL, 500501502503504。无法同时为所有支持的错误代码进行自定义;必须为每个错误代码单独定制。这是通过创建“自定义错误响应”来完成的。有点令人困惑,这样做并不要求您提供自定义错误页面。创建自定义错误响应时,您可以选择“否”为“自定义错误响应”(听起来像废话,但这是真的)。如果这样做,则只为您选择的HTTP错误代码自定义错误缓存最小TTL。