CloudFront是否在来自原点的错误回复(例如Cache-Control
)中使用max-age
标题(例如503
)?或者,错误响应缓存的长度总是由分布上配置的错误缓存最小TTL控制?包含“最小”一词表示错误缓存的行为可能类似于原始提供Cache-Control max-age
时非错误缓存的行为,但有关此主题的文档似乎没有明确确认那个建议。
答案 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
标头传递给未受干扰的客户端。
可以针对错误代码400
,403
,404
,405
,414
,416
自定义错误缓存最小TTL, 500
,501
,502
,503
和504
。无法同时为所有支持的错误代码进行自定义;必须为每个错误代码单独定制。这是通过创建“自定义错误响应”来完成的。有点令人困惑,这样做并不要求您提供自定义错误页面。创建自定义错误响应时,您可以选择“否”为“自定义错误响应”(听起来像废话,但这是真的)。如果这样做,则只为您选择的HTTP错误代码自定义错误缓存最小TTL。