Очистить кэш лака для одного URL с помощью varnishadm


12

Лак используется на веб-сайте Wordpress.

Я хотел бы очистить Varnish для одного URL вместо целого домена.

С помощью этой команды я могу перезапустить Varnish для всего домена:

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

Однако я хотел бы очистить лак только для одного URL.

Пример: www.foo.com/url_to_be_purged

Я пробовал предыдущую команду, заменив ее одним URL:

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

Но это не сработало, URL все еще был на HITVarnish.

Есть идеи, как мне этого добиться?

ОБНОВИТЬ

Как и предполагал ответ ghloogh, я попробовал следующую команду:

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"

Я также попробовал этот вариант:

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

Но я все еще получаю HITв URL, и данные не обновляются


1
человек, прекратите использовать схему (http: // или https: // или ftp: // или другое) в имени хоста :) ваша команда должна быть: varnishadm -T: 6082 -S / etc / varnish / secret ban "req.http .host == www.foo.com && req.url == / url_to_be_purged "
ghloogh

Ответы:


20

Вам не нужно указывать схему для имени хоста, и вы можете использовать строгое соответствие вместо регулярного выражения:

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

1
Другой ответ содержал цитату не в том месте. > varnishadm -T 127.0.0.1:6082 -S / etc / varnish / secret "ban req.url == / url_to_be_purged"
Джим Холмс

0

Вы можете попробовать следующее:

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

работал на меня.


2
Это не добавляет ничего, кроме sudoдругого ответа. Это может быть лучше, как комментарий.
Эса Йокинен
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.