Не удается заставить CloudFront предоставлять заголовки для контроля кэша - PullRequest
0 голосов
/ 22 октября 2018

Я много читал об этом, но ни одно из решений, которые я видел, похоже, не работает для веб-сайтов IIS - большинство, похоже, предлагают какое-то решение на стороне сервера, но ни одно из них не работает для меня.

Я оптимизирую один из наших сайтов, и PageSpeed, YSlow и Lighthouse жалуются на то, что изображения, которые я отправляю с нашего CloudFront CDN, не имеют заголовков кэша.CDN подается из корзины S3.

например, https://static.edie.net/webimages/new_new_new.png (срок действия не указан)

Обрезается как "Есть статические компоненты без даты истечения в далеком будущем" и«Использовать кеширование в браузере для следующих кэшируемых ресурсов»

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

Я установил

Cache-Control: max-age=5500000 

в самой корзине / файле s3, и если вы проверяете файл через корзину: https://devedienet.s3.amazonaws.com/webimages/new_new.png, тогда он имеет заголовок кэша.

Но это не такПохоже, что это влияет на изображение CloudFront, которое имеет только следующие заголовки:

Age: 12153
Connection: keep-alive
Date: Mon, 22 Oct 2018 11:18:49 GMT
ETag: "940fd4d68428cf3e4f88a45aab4d7157"
Server: AmazonS3
Via: 1.1 4f95eb10423b781564e79d7c85f85795.cloudfront.net (CloudFront)
X-Amz-Cf-Id: TZAWy8U12-ohhe-dwTkCLqXHbJKI7CJqQd21I-lvq-8rloZjTew6aw==
x-amz-meta-s3b-last-modified: 20181017T105350Z
X-Cache: Hit from cloudfront

Я пытался добавить пользовательское поведение в панель управления AWS для распределения CloudFront:

webimages/*.png
Minimum TTL: 5500000

Ноопять же, похоже, это не имеет никакого эффекта.

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

Я что-то упустил или неправильно понял, что такоетребуется

...