Заголовок Cache-Control не отправляется из кэширования пользовательских объектов Cloudfront - PullRequest
0 голосов
/ 30 апреля 2019

Все мои активы хранятся на S3.

Я устанавливаю CloudFront поверх него.Поэтому у меня есть только одно происхождение в этом распределении.

Вот моя конфигурация.enter image description here

Когда я получаю актив (в данном случае файл css), вот возвращаемые заголовки.

Content-Type: text/css
Content-Length: 431206
Connection: keep-alive
Date: Tue, 30 Apr 2019 19:58:02 GMT
Last-Modified: Mon, 29 Apr 2019 19:19:06 GMT
ETag: "157d6f76c8edfc3329062f511be86149"
Accept-Ranges: bytes
Server: AmazonS3
Age: 12
Vary: Accept-Encoding
X-Cache: Hit from cloudfront
Via: 1.1 67c0f7cc5ebd46ca00c423ff8dac32d3.cloudfront.net (CloudFront)
X-Amz-Cf-Id: uqlSS3nsE_s2gfeN8XRaLWsrNoLJw7ap7Kuaqv92GbUVcXFKJD4dog==

Я ожидаю, чтоЗаголовок Cache-Control будет установлен, но явно не возвращается.

1 Ответ

1 голос
/ 30 апреля 2019

Ваше ожидание неверно.

Эти настройки не устанавливают и не изменяют Cache-Control заголовки - они только корректируют значения, которые CloudFront принимает для своего внутреннего TTL для каждого объекта.

Чтобы установитьCache-Control для объектов, заголовок должен отправляться при загрузке объекта на S3 или его можно добавить в CloudFront с помощью триггера Lambda @ Edge.

См. Нет заголовка Cache-Control дляфайлы из AWS CloudFront с S3 Origin при сбое сервера.

См. также Что такое Cloudfront Minimum TTL для? и Смущены минимальным, максимальным и стандартным TTL в CloudFront здесь, на переполнении стека.

...