Purger le cache de varnish

From Tuxunix
Jump to: navigation, search

Classique

  • Autoriser la purge via HTTP
acl purge {
       "localhost";
       "192.168.55.0"/24;

sub vcl_recv {
}
       # allow PURGE from localhost and 192.168.55...

       if (req.request == "PURGE") {
               if (!client.ip ~ purge) {
                       error 405 "Not allowed.";
               }
               return (lookup);
       }
}

sub vcl_hit {
       if (req.request == "PURGE") {
               purge;
               error 200 "Purged.";
       }
}

sub vcl_miss {
       if (req.request == "PURGE") {
               purge;
               error 200 "Purged.";
       }
}


Purger un objet en cache :

PURGE / HTTP/1.0
Host: example.com

Ou

curl -X PURGE -x http://domaine.com/

ou

  • Vider tout le cache

La commande suivante vide toutes les pages contenues dans le cache varnish :

varnishadm -S /etc/varnish/secret -T :6082 "url.purge .*"
  • Purger le cache pour un domaine précis

Cette commande permet de supprimer le cache des pages correspondantes à un host :

varnishadm -S /etc/varnish/secret -T :6082 'purge req.http.host == "dev.petitchevalroux.net"'
  • Purger le cache des urls selon un type de fichier

Cette ligne de commande utilise un expression régulière pour sélectionner uniquement les urls correspondantes. Dans cet exemple les fichiers html et css :

varnishadm -S /etc/varnish/secret -T :6082 'purge req.url ~ .(html|css)'

Bans