Лак используется на веб-сайте 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 все еще был на HIT
Varnish.
Есть идеи, как мне этого добиться?
ОБНОВИТЬ
Как и предполагал ответ 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, и данные не обновляются
Ответы:
Вам не нужно указывать схему для имени хоста, и вы можете использовать строгое соответствие вместо регулярного выражения:
источник
Вы можете попробовать следующее:
работал на меня.
источник
sudo
другого ответа. Это может быть лучше, как комментарий.