Purger le cache de vernis pour une seule URL à l'aide de varnishadm


12

Le vernis est utilisé dans un site Web Wordpress.

Je voudrais purger Varnish pour une seule URL au lieu d'un domaine entier.

Avec cette commande, je peux redémarrer Varnish pour tout le domaine:

varnishadm -T :6082 -S /etc/varnish/secret 'ban req.http.host ~ \"http://www.foo.com\" && req.url ~ \"^/\"'

Cependant, je voudrais purger le vernis uniquement pour une seule URL.

Ex: www.foo.com/url_to_be_purged

J'ai essayé la commande précédente en la remplaçant par l'URL unique:

varnishadm -T :6082 -S /etc/varnish/secret 'ban req.http.host ~ \"http://www.foo.com/url_to_be_purged\" && req.url ~ \"^/\"'

Mais cela n'a pas fonctionné, l'URL était toujours HITen vernis.

Des idées sur la façon dont je peux y parvenir?

MISE À JOUR

Comme l'a suggéré la réponse de ghloogh, j'ai essayé la commande suivante:

varnishadm -T :6082 -S /etc/varnish/secret ban "req.http.host == http://www.foo.com && req.url == http://www.foo.com/url_to_be_purged"

J'ai également essayé cette variante:

varnishadm -T :6082 -S /etc/varnish/secret ban "req.http.host == http://www.foo.com && req.url == /url_to_be_purged"

Mais je reçois toujours un HITdans l'URL et les données ne sont pas mises à jour


1
man, arrêtez d'utiliser le schéma (http: // ou https: // ou ftp: // ou autre) dans le nom d'hôte :) votre commande doit être: varnishadm -T: 6082 -S / etc / varnish / secret ban "req.http .host == www.foo.com && req.url == / url_to_be_purged "
ghloogh

Réponses:


20

Vous n'avez pas besoin de spécifier le schéma du nom d'hôte et vous pouvez utiliser une correspondance stricte au lieu de l'expression régulière:

varnishadm -T 127.0.0.1:6082 -S /etc/varnish/secret ban "req.http.host == example.com && req.url == /some/url/"

1
L'autre réponse avait la citation au mauvais endroit. > varnishadm -T 127.0.0.1:6082 -S / etc / varnish / secret "ban req.url == / url_to_be_purged"
Jim Holmes

0

Vous pouvez essayer ce qui suit:

sudo varnishadm -S /etc/varnish/secret  -T 127.0.0.1:6082 "ban req.url ~ \"http://example.com/testimage.png$\""

travaillé pour moi.


2
Cela n'ajoute rien d'autre sudoqu'à l'autre réponse. Cela pourrait être mieux en tant que commentaire.
Esa Jokinen
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.