Заголовки управления кешем Cloudfront отсутствуют

Я настраиваю Cloudfront для обслуживания статических изображений, js, css файлов для www.lottoresults.ie. Я использовал собственный исходный сервер.

Я установил доменное имя облачного интерфейса icdn.lottoresults.ie. Я установил это с помощью Bind9 dns, с icdn.lottoresults.ie в качестве CNAME для дистрибутива Cloudfront.

Все в порядке.

Однако для оптимизации производительности веб-сайта (Yslow, google Pagespeed и т. Д.) Я хочу установить заголовки Cache-control и Expires, и мне не нужны Etags.

Для этого в моем файле htaccess для doc_root сайта www.lottoresults.ie есть следующее:

Header unset Pragma
FileETag none
Header unset ETag

<FilesMatch "(.*)\.(ico|jpg|jpeg|png|gif|js|css|swf)$">
ExpiresActive on
ExpiresDefault "access plus 1 year"
Header set Cache-Control "max-age=1864000, public"
Header unset Last-Modified
</FilesMatch>

Проблема в том, что для ресурсов, поступающих из облачного дистрибутива (icdn), у меня нет заголовков Cache-control или Expires, но есть Etags - но для www у меня есть имеют заголовки Cache-control и Expires, а не Etags.

Когда я запрашиваю ресурс из своего облачного домена, у меня нет заголовков Cache-control или Expires, но у меня есть Etags.

curl -I -L http://icdn.lottoresults.ie/images/green-header.jpg

HTTP/1.0 200 OK
Date: Sun, 01 Apr 2012 22:58:30 GMT
Server: Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny13 with Suhosin-Patch
Last-Modified: Mon, 08 Aug 2011 20:23:00 GMT
**ETag**: "28a213-19b-4aa0436a1b100"
Accept-Ranges: bytes
Content-Length: 411
Content-Type: image/jpeg
Age: 22137
X-Cache: Hit from cloudfront
X-Amz-Cf-Id: AV55dR4_vWHtlTbU6E9M2tkh9reoAwZcHlD4y9csetK6B6Ey8gDPJA=
Via: 1.0 8adf6ec3585d73c680b4a6d5052988d8.cloudfront.net (CloudFront)
Connection: close

Тем не менее, когда я запрашиваю тот же актив с моего исходного сервера, я получаю следующее, которое включает Cache-control, Expires и no Etags.

curl -I -L http://www.lottoresults.ie/images/green-header.jpg

HTTP/1.1 200 OK
Date: Fri, 06 Apr 2012 20:50:08 GMT
Server: Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny13 with Suhosin-Patch
Accept-Ranges: bytes
Content-Length: 411
**Cache-Control**: max-age=1864000, public
**Expires**: Sat, 06 Apr 2013 20:50:08 GMT
Content-Type: image/jpeg

Любая помощь или совет приветствуются.

Спасибо Пол


person pokero    schedule 06.04.2012    source источник


Ответы (1)


Думаю, я знаю, что это было, для всех, у кого может быть такая же проблема.

Это своего рода PEBKAC - я должен аннулировать активы, прежде чем они получить новые заголовки.

Например. Я добавил новый файл images / zoom2.gif, и он выглядит правильно:

curl -I -L http://icdn.lottoresults.ie/images/zoom2.gif

HTTP/1.0 200 OK
Date: Fri, 06 Apr 2012 23:00:24 GMT
Server: Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny13 with Suhosin-Patch
Accept-Ranges: bytes
Content-Length: 1849
Cache-Control: max-age=1864000, public
Expires: Sat, 06 Apr 2013 23:00:24 GMT
Content-Type: image/gif
Age: 29
X-Cache: Hit from cloudfront
X-Amz-Cf-Id:         vPPBdJpw0ZI_J2trHyECnE2UBeQO9NsQZD9GSvl3GIVAZuQN5lz1ZQ==,J4bBHfF5lKEpjRPLZVYpS9HUdAKEOLEe-Gy3-a_x4PsLPrdWuRg93Q==
Via: 1.0 00204466f749ba432b50dc49d604c534.cloudfront.net (CloudFront)
Connection: close
person pokero    schedule 07.04.2012
comment
URL больше не действителен. знак равно - person Craig London; 26.03.2015
comment
Значит, добавление max-age управления кешем не будет отображаться, если вы не сделаете файл недействительным? Даже если срок действия файла по умолчанию истекает через 24 часа? - person drfence; 07.05.2015