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 HIT
em 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 HIT
no URL e os dados não são atualizados
Respostas:
Você não precisa especificar o esquema para o nome do host e pode usar correspondência estrita em vez de regex:
fonte
Você pode tentar o seguinte:
trabalhou para mim.
fonte
sudo
à outra resposta. Isso pode ser melhor como um comentário.