6

sprawdzić nagłówki na moim serwerze produkcyjnym jakUstawianie nagłówków Cache-Control na js aktywów w szynach 3,1

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

i wrócę następujące nagłówki które sugerują SZYNY nie wyznacza nagłówki 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 

Chciałbym uzyskać pamięć podręczną lakieru Heroku, buforując zasoby i tylko odświeżając git push. Wszelkie pomysły, jak to uzyskać?

Brad

+0

Ten artykuł powinien rzucić nieco światła na ten problem: http://jimmycuadra.com/posts/the-challenge-of-asset-packaging-on-heroku –

Odpowiedz

7

Trzeba dodać to w swoim środowisku/production.rb:

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

Nawet 3 lata później zrobiłeś mój dzień z 'config.static_cache_control' –

1

odpowiedź Camille jest odpowiednia w stosunku do wersji przed Rails 5.1

Jednakże w Rails 5.1config.static_cache_control będzie przestarzałe. Kod na bieżąco z nowej dostępnej opcji powinno być:

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