Как переслать каждый запрос из CloudFront на источник S3 - PullRequest
0 голосов
/ 29 марта 2019

Я читаю

Если вы сконфигурируете CloudFront для пересылки всех заголовков вашему источнику для поведения кэша, CloudFront никогда не кэширует связанные объекты.Вместо этого CloudFront направляет все запросы на эти объекты в источник.В этой конфигурации значение Minimum TTL должно быть 0.

. Теперь я установил min TTL на 0 и попытался переслать все заголовки. Я получаю ошибку от CloudFront: вы не можете выбрать пересылку всех заголовковс источником S3.

Как сделать так, чтобы каждый запрос проверял источник S3 (чтобы новые объекты в корзинах обновлялись в CloudFront немедленно)

1 Ответ

0 голосов
/ 29 марта 2019

Вы не можете переслать все заголовки на S3, если ваше имя сегмента точно не соответствует имени домена, и даже тогда это не рекомендуется.

Вместо этого установите Минимальный TTL, Стандартный TTL и Максимальный TTL все на 0.

По умолчанию TTL используется, когда объект хранится в корзине без определения значения Cache-Control. Максимальный TTL используется, когда Cache-Control указывает ненулевой TTL (CloudFront будет приводить любое большее значение вниз к максимальному TTL для своих внутренних целей). Минимальный TTL всегда должен быть установлен на 0, за исключением очень редких случаев.

Обратите внимание, что изменение этих значений требует аннулирования, или объекты, уже находящиеся в кэше, могут использовать предыдущие значения.


Или при записи объектов в корзину добавьте s-maxage=0 к значению заголовка Cache-Control и убедитесь, что для параметра Минимальный TTL установлено значение 0.

...