Découvrez pourquoi il est souvent préférable d’utiliser la configuration built-in de Varnish plutôt que de créer des configurations complexes.
Utiliser la configuration built-in
Comme nous l’indique ops42 dans son article http://ops42.wordpress.com/2012/11/14/varnish-is-smarter-than-you/. pdf de la page qui n’existe plus 🙁 , Varnish fonctionne très bien avec sa configuration “built-in”.
Au fur et à mesure, beaucoup de sysops (comme moi) ont mis en place, à tort, des configurations Varnish de plus en plus complexes.
La seule configuration à mettre en place est celle liée à vos backends.
Objectif d’une modification de VCL
Toute modification de la VCL sera donc un hotfix pour corriger un problème lié à votre application.
Exemple
OpenPhoto a actuellement un bug : un CSS est généré à chaque hit, cela ajoute au minimum 5 secondes au temps de chargement de la page.
Dans ce cas, j’ai ajouté dans les différentes VCL la configuration suivante :
VCL Fetch
sub vcl_fetch {
# Fix https://github.com/photo/frontend/issues/1104
if (req.http.host ~ 'photos\.domain\.tld' && req.url ~ '^/assets/themes/fabrizio1.0/stylesheets/lessc') {
unset beresp.http.set-cookie;
unset beresp.http.expires;
unset beresp.http.Cache-Control;
set beresp.http.Cache-Control = 'public';
}
}
VCL Deliver
sub vcl_deliver {
# Fix https://github.com/photo/frontend/issues/1104
if (req.http.host ~ 'photos\.domain\.tld' && req.url ~ '^/assets/themes/fabrizio1.0/stylesheets/lessc') {
unset resp.http.Pragma;
}
}