Elimina la cache delle vernici per un singolo URL usando varnishadm


12

La vernice viene utilizzata in un sito Web Wordpress.

Vorrei eliminare Varnish per un singolo URL anziché un intero dominio.

Con questo comando posso riavviare Varnish per l'intero dominio:

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

Tuttavia, desidero eliminare la vernice solo per un singolo URL.

Ex: www.foo.com/url_to_be_purged

Ho provato il comando precedente sostituendolo con il singolo URL:

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

Ma non ha funzionato, l'URL era ancora HITin vernice.

Qualche idea su come posso raggiungere questo obiettivo?

AGGIORNARE

Come suggerito la risposta di ghloogh, ho provato il seguente 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"

Ho anche provato questa variante:

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

Ma ottengo ancora un HITnell'URL e i dati non vengono aggiornati


1
amico, smetti di usare lo schema (http: // o https: // o ftp: // o altro) nel nome host :) il tuo comando dovrebbe essere: varnishadm -T: 6082 -S / etc / varnish / secret ban "req.http .host == www.foo.com && req.url == / url_to_be_purged "
ghloogh

Risposte:


20

Non è necessario specificare lo schema per il nome host e è possibile utilizzare la corrispondenza rigorosa anziché regex:

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

1
L'altra risposta aveva la citazione nel posto sbagliato. > varnishadm -T 127.0.0.1:6082 -S / etc / varnish / secret "ban req.url == / url_to_be_purged"
Jim Holmes,

0

Puoi provare quanto segue:

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

ha funzionato per me.


2
Questo non aggiunge altro che sudoall'altra risposta. Questo potrebbe essere migliore come commento.
Esa Jokinen,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.