Jan 212015
Sur varnish 3, il fallait ajouter du code c pour ajouter le header Expires correspondant au max-age du Cache-Control :
Varnish : transformer le Cache-Control : max-age en Expires
Maintenant une ligne suffit :
Dans le vcl_backend_response :
if (beresp.http.cache-control ~ "max-age=" ) { set beresp.http.Expires = "" + (now + std.duration(regsub(beresp.http.cache-control,"max-age=([0-9]+).*$","\1")+"s", 0s)); }
ou dans le vcl_deliver :
if (resp.http.cache-control ~ "max-age=" ) { set resp.http.Expires = "" + (now + std.duration(regsub(resp.http.cache-control,"max-age=([0-9]+).*$","\1")+"s", 0s)); }
Chez moi cela ne fonctionnait pas, j’ai dû modifier de cette façon pour que cela fonctionne :
set beresp.http.expires = « » + (now + std.duration(regsub(beresp.http.cache-control, »^.*max-age=([0-9]+)$ », »\1″)+ »s », 0s));
Donc mettre ^.* au début de la regexp.