2011-06-22 11 views
6

puedo comprobar los encabezados en mi servidor de producción comoMarco encabezados Cache-Control de activos js en Rails 3.1

curl --head -H "Accept-Encoding: gzip" http://foo.heroku.com/assets/mobile.js 

y le regreso las siguientes cabeceras que sugieren CARRILES no está fijando las cabeceras CacheControl.

HTTP/1.1 200 OK 
Server: nginx/0.7.67 
Date: Wed, 22 Jun 2011 12:01:55 GMT 
Content-Type: application/javascript 
Connection: keep-alive 
Content-Md5: efb90436a465f8a73efb467109f745f3 
Cache-Control: no-cache 
Last-Modified: Wed, 22 Jun 2011 11:46:04 GMT 
Etag: "efb90436a465f8a73efb467109f745f3" 
X-Ua-Compatible: IE=Edge,chrome=1 
X-Runtime: 0.001258 
X-Content-Digest: 6493f457e9550773761bb1c2c52ec4cb44a19c19 
X-Rack-Cache: stale, valid, store 
X-Varnish: 164373614 
Age: 0 
Via: 1.1 varnish 
Content-Encoding: gzip 

me gustaría llegar caché de barniz heroku almacenamiento en caché de los activos y sólo refrescante en git push. ¿Alguna idea sobre cómo obtener esto?

Brad

+0

Este artículo debería arrojar alguna luz sobre el tema: http://jimmycuadra.com/posts/the-challenge-of-asset-packaging-on-heroku –

Respuesta

7

hay que añadir esto en su entorno/production.rb:

config.serve_static_assets = true 
config.static_cache_control = "public, max-age=172800" 
+1

Incluso 3 años después hiciste mi día con tu 'config.static_cache_control' gracias –

1

respuesta de Camille es adecuado para las versiones 5.1 Rieles antes

Sin embargo, en Rails 5.1config.static_cache_control será desaprobado. El código actualizado con la nueva opción disponible debe ser:

config.serve_static_assets = true 
config.public_file_server.headers = { 'Cache-Control' => 'public, max-age= 172800' } 
Cuestiones relacionadas