Limpar cache de verniz para um único URL usando varnishadm

12

O verniz está sendo usado em um site do Wordpress.

Gostaria de limpar o Varnish para um único URL em vez de um domínio inteiro.

Com este comando, posso reiniciar o Varnish para todo o domínio:

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

No entanto, eu gostaria de limpar o verniz apenas para um único URL.

Ex: www.foo.com/url_to_be_purged

Eu tentei o comando anterior substituindo-o pelo URL único:

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

Mas não funcionou, o URL ainda estava HITem verniz.

Alguma idéia de como posso conseguir isso?

ATUALIZAR

Como sugeriu a resposta de ghloogh, tentei o seguinte 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"

Eu também tentei essa variação:

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

Mas ainda recebo um HITno URL e os dados não são atualizados

rfc1484
fonte
1
cara, pare de usar o esquema (http: // ou https: // ou ftp: // ou outro) no nome do host :) seu comando deve ser: varnishadm -T: 6082 -S / etc / varnish / secret ban "req.http .host == www.foo.com && req.url == / url_to_be_purged "
ghloogh

Respostas:

20

Você não precisa especificar o esquema para o nome do host e pode usar correspondência estrita em vez de regex:

varnishadm -T 127.0.0.1:6082 -S /etc/varnish/secret ban "req.http.host == example.com && req.url == /some/url/"
Ghloogh
fonte
1
A outra resposta tinha a citação no lugar errado. > varnishadm -T 127.0.0.1:6082 -S / etc / varnish / secret "ban req.url == / url_to_be_purged"
Jim Holmes
0

Você pode tentar o seguinte:

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

trabalhou para mim.

Abhishek
fonte
2
Isso não adiciona nada, mas sudoà outra resposta. Isso pode ser melhor como um comentário.
precisa