То, как консоль представляет это, по общему мнению, очень запутанно и, возможно, даже не "правильно".
CloudFront всегда использует заголовки кэша источника , а всегда использует Min / Default / Max TTL.
Использовать заголовки кэша Origin фактически означает "Использовать заголовки кэша Origin со стандартными значениями CloudFront по умолчанию и ограничивающими значениями."
Настройка фактически означает «Использовать заголовки кэша источника с настраиваемыми значениями CloudFront по умолчанию и ограничивающими значениями.»
Таким образом, объекты без Cache-Control
кэшируются на срок до Default TTL
- 86400 секунд по умолчанию. Если вам не нужно это поведение, переключитесь на Customize
и установите Default TTL
на значение, которое CloudFront будет использовать в качестве TTL объекта, если в заголовках нет значения Cache-Control
.
Если Cache-Control
присутствует , CloudFront игнорирует Default TTL
и вместо этого использует ограничивающие значения Minimim TTL
и Maximum TTL
, чтобы определить, следует ли использовать внутренние значения Cache-Control
источника или переопределить их. Если вне диапазона, CloudFront настраивает свой внутренний таймер так, чтобы TTL объекта находился в диапазоне> = Minimum TTL
(по умолчанию 0 секунд) и <= <code>Maximum TTL (1 год), уменьшая слишком большие значения до максимума и увеличивая слишком малые значения до мин. Если значение Cache-Control
уже находится в этом диапазоне, значение из Cache-Control
используется как есть. В любом случае, CloudFront фактически не изменяет сам заголовок Cache-Control
.
https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html