Varnish se está utilizando en un sitio web de Wordpress.
Me gustaría purgar Varnish para una sola URL en lugar de un dominio completo.
Con este comando puedo reiniciar Varnish para todo el dominio:
varnishadm -T :6082 -S /etc/varnish/secret 'ban req.http.host ~ \"http://www.foo.com\" && req.url ~ \"^/\"'
Sin embargo, me gustaría purgar el barniz solo para una única url.
Ex: www.foo.com/url_to_be_purged
He intentado el comando anterior reemplazándolo con la única URL:
varnishadm -T :6082 -S /etc/varnish/secret 'ban req.http.host ~ \"http://www.foo.com/url_to_be_purged\" && req.url ~ \"^/\"'
Pero no funcionó, la URL todavía estaba HIT
en barniz.
¿Alguna idea de cómo puedo lograr esto?
ACTUALIZAR
Como sugirió la respuesta de ghloogh, probé el siguiente comando:
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"
También probé esta variación:
varnishadm -T :6082 -S /etc/varnish/secret ban "req.http.host == http://www.foo.com && req.url == /url_to_be_purged"
Pero todavía recibo un HIT
en la URL y los datos no se actualizan
Respuestas:
No es necesario que especifique el esquema para el nombre de host y puede usar una concordancia estricta en lugar de expresiones regulares:
fuente
Puedes probar lo siguiente:
trabajó para mi.
fuente
sudo
que la otra respuesta. Esto podría ser mejor como comentario.