Il arrive que certaines pages doivent éviter d'être mises en cache, et elles ont toutes l'en-tête de réponse suivant défini par le backend :
Cache-Control: no-cache, no-store, must-revalidate, max-age=0
Varnish, cependant, met volontiers ces pages en cache. Y a-t-il quelque chose que je puisse ajouter à la configuration pour empêcher cela ? Je suppose que c'est quelque chose qui devrait aller dans vcl_deliver
o vcl_fetch
sous-routines, mais la documentation n'est pas très utile (pour moi en tout cas).
En fait, je cherche quelque chose comme ceci mais à l'inverse - il faut vérifier les en-têtes de la réponse.
Varnish est la version 3.0 (non, je ne peux pas faire de mise à jour pour le moment).
Configuration pertinente :
sub vcl_fetch {
if (req.http.X-Varnish-Use-Cache && beresp.status != 500) {
set beresp.ttl = 24h;
set beresp.do_esi = true;
unset beresp.http.Set-Cookie;
}
return (deliver);
}
sub vcl_deliver {
if(!resp.http.X-Cache) {
if (obj.hits > 0) {
set resp.http.X-Cache = "HIT";
} else {
set resp.http.X-Cache = "MISS";
}
} else {
if (obj.hits > 0) {
set resp.http.X-Cache = resp.http.X-Cache + ", HIT";
} else {
set resp.http.X-Cache = resp.http.X-Cache + ", MISS";
}
}
set resp.http.X-Flavour = req.http.X-Flavour;
return (deliver);
}