Назад | Перейти на главную страницу

Лак 4 БАН на PUT или POST

Мне нужно очистить или заблокировать кеш, который был изменен небезопасным запросом. Я нашел решение, которое работает с лаком 3.0; однако я использую лак 4. Кажется, это уже неправильный синтаксис.

Удаление лака на POST или PUT

sub vcl_recv {
if ( req.request == "POST" || req.request == "PUT" ) {
    ban("req.url == " + req.url);
    return(pass);
    }
}

Это дает мне ошибку

Jun 26 17:43:21 test varnishd[2127]: Symbol not found: 'req.request' (expected type BOOL):
Jun 26 17:43:21 test varnishd[2127]: ('/etc/varnish/default.vcl' Line 13 Pos 10)
Jun 26 17:43:21 test varnishd[2127]:     if ( req.request == "POST" || req.request == "PUT" ) {
Jun 26 17:43:21 test varnishd[2127]: ---------###########--------------------------------------
Jun 26 17:43:21 test varnishd[2127]: Running VCC-compiler failed, exited with 2

Что я могу сделать, чтобы запросы на очистку / запрет лака были небезопасными?

Спасибо.

В Varnish 4 req.request стал req.method. https://www.varnish-cache.org/docs/4.0/whats-new/upgrading.html