2012-04-06 13 views
9

configuro Cloudfront para servir imágenes estáticas, archivos js, css para www.lottoresults.ie. Usé un servidor de origen personalizado.Encabezados de control de caché en la nube faltan

El nombre de dominio de la interfaz de nube que configuro es icdn.lottoresults.ie. Configuré esto usando Bind9 dns, con icdn.lottoresults.ie un CNAME para la distribución de la nube.

Eso está bien.

Sin embargo, para optimizar el rendimiento del sitio web (Yslow, velocidad de la página de google, etc.), quiero que los encabezados de control de caché y caducidad estén configurados, y no quiero los estados.

Para hacer esto, Tengo el siguiente en mi archivo .htaccess para el doc_root de 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> 

El problema es que para activos procedentes de la distribución CloudFront (ICDN), No tengo encabezados de control de caché o de caducidad, pero sí tengo Etags; sin embargo, para www tengo los encabezados de control de caché y caducidad, y no hay estados.

Cuando consulto un activo de mi dominio de la nube, no tengo Cache-control o Caduca encabezados, pero tengo Etags.

rizo -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 

Sin embargo, cuando me consultan la misma activos de mi servidor de origen, me sale el siguiente, que incluye Cache-Control, caduca, y ningún Etags.

enrollamiento -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 

cualquier ayuda o consejo muy apreciada.

Gracias Paul

Respuesta

15

creo que sé lo que esto era, para cualquier persona que pueda tener el mismo problema.

Es el tipo de PEBKAC - Tengo que invalidar los activos antes de que adquieran nuevos encabezados.

E.g. He añadido un nuevo archivo, imágenes/zoom2.gif, y parece correcta:

rizo -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 
+0

+1 para el seguimiento con su solución, gracias! –

+0

gracias por publicar su solución, ¡me ayudó también! –

+0

La URL ya no es válida. = ( –

Cuestiones relacionadas