У меня есть дистрибутив CloudFront с orign S3. Bucket (управление версиями отключено) содержит изображения.
Поведение соединения между CloudFront и S3:
- Перенаправление HTTP на HTTPS
- Кэшированные параметры: GET, HEAD (Кэшируется по умолчанию) & ОПЦИИ
- Кэш на основе выбранных заголовков запроса (нет)
- Использовать заголовки кэша источника
- Мин. TTL: 0
- По умолчанию TTL:86400
- Макс. TTL: 31536000
- Пересылка файлов cookie: все
- Пересылка строки запроса: пересылка всех на основе кэша
- ограничение доступа зрителя, потоковая передача, сжатие:нет
Мои изображения в S3 имеют следующие метаданные (без заголовков управления кэшем):
Content-Type image/jpeg
x-amz-meta-md5 lYw9zHZxxxxxxx8468A==
Теперь мы загрузили новое изображение в S3 около 5 дней назад. Когда мы открываем изображение в S3 или загружаем его, мы видим новое изображение.
Теперь в CloudFront мы все еще видим старое изображение, ожидая обновления кеша через 24 часа.
По умолчанию CloudFront кэширует ответ от Amazon S3 в течение 24 часов (по умолчанию TTL составляет 86 400 секунд).
Когда я скручиваю изображение 2 раза:
HTTP/1.1 200 OK
Content-Type: image/jpeg
Content-Length: 12769
Connection: keep-alive
Date: Tue, 22 Oct 2019 08:57:57 GMT
Last-Modified: Thu, 18 Oct 2018 10:00:56 GMT
ETag: "0d581eef776ab0b6d44dd27c8759714a"
x-amz-meta-md5: DVge73dqxxxdJ8h1lxSg==
Accept-Ranges: bytes
Server: AmazonS3
X-Cache: Miss from cloudfront
HTTP/1.1 200 OK
Content-Type: image/jpeg
Content-Length: 12769
Connection: keep-alive
Date: Tue, 22 Oct 2019 08:57:57 GMT
Last-Modified: Thu, 18 Oct 2018 10:00:56 GMT
ETag: "0d581eef776ab0b6d44dd27c8759714a"
x-amz-meta-md5: DVge73dqxxxdJ8h1lxSg==
Accept-Ranges: bytes
Server: AmazonS3
X-Cache: Hit from cloudfront
Сначала промах, затем попадание, но дата последнего изменения все еще слишком давно, и новое изображение не извлекается из S3. Я знаю, что могу создать аннулирование, но я не хочу делать новые аннулирования каждый раз, когда у нас появляются новые изображения.
В чем может быть проблема здесь? если вам нужна дополнительная информация, пожалуйста, спросите!