Подтвердить что ты не робот

Установите элемент управления кешем по умолчанию и истекает для всего ведра S3/CloudFront

У меня есть ведро Amazon S3 с приблизительно 300 тыс. предметами, которые используются на большом веб-сайте. Я хотел бы установить истечение всех объектов, которые подаются из CloudFront из ведра S3, чтобы они могли кэшироваться в браузере с помощью пользовательской машины. Есть ли простой способ установить элемент управления кэшем для всех объектов s3, находящихся в настоящее время в bucket И, наиболее важно установить значение по умолчанию для этого ведра, чтобы все новые элементы добавили также истекли и заголовки управления кешем ИЛИ, это можно сделать с помощью CloudFront?

До сих пор я читал несколько документов AWS, но ничего не нашел:

4b9b3361

Ответ 1

Шаги для добавления контроля кеша для существующих объектов в вашем ковше

  • git clone https://github.com/s3tools/s3cmd
  • Запустить s3cmd --configure (Вас попросят ввести два ключа - скопируйте и вставьте их из своего подтверждение электронной почты или с вашей учетной записи Amazon. Будьте осторожны, когда копируя их! Они чувствительны к регистру и должны вводиться точно или вы будете продолжать получать ошибки о недопустимых подписях или аналогичных. Не забудьте добавить разрешения s3: ListAllMyBuckets к ключам или вы получите ошибку AccessDenied при тестировании доступа.)
  • ./s3cmd --recursive modify --add-header = "Cache-Control: public, max-age = 31536000" s3://your_bucket_name/

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

Итак, если вы не добавили никакого заголовка, тогда облачный кеш будет кэшировать его для DEFAULT TTL. ДЛЯ ДОПОЛНИТЕЛЬНОЙ ИНФОРМАЦИИ http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html#ExpirationDownloadDist