Я пытаюсь управлять аннулированием кеша с помощью тегов кеша в поле заголовка X-Cache-Tags. Соответствующие заголовки из типичного ответа выглядят так:
Age:218
Cache-Control:public, s-maxage=300
Via:1.1 varnish-v4
X-Cache-Tags:product-395378,brand-54,product-374977,product-419381,product-184166,product-419380,category-974
X-Varnish:1737663 852286
X-Varnish-Cache:HIT
Этот объект правильно кэширован, и я получаю обращения, когда запрашиваю страницу.
Я тоже могу запретить эти заголовки. После выдачи бана за метку product-395378
мой ban.list выглядит так:
1435166652.596926 117 obj.http.X-Host ~ .* && obj.http.X-Url ~ .* && obj.http.content-type ~ .* && obj.http.X-Cache-Tags ~ (product\-395378)(,.+)?$
Значит, бан выставлен правильно. Однако, когда я запрашиваю эту же страницу после блокировки, кеш не становится недействительным, и я получаю попадание в кеш вместо промаха.
В чем может быть проблема?
Я нашел проблему. Я не устанавливал X-Host
и X-Url
заголовки в vcl_backend_response.