Невозможно войти через кеш Varnish 4

Мне нужна помощь. Как я могу сделать это в новой версии? поскольку vcl_fetch старый и не принят в Varnish 4.

sub vcl_fetch{
if (beresp.http.set-cookie ~ "sessionid" || beresp.http.set-cookie ~ "csrftoken") {
           return (pass);
         } else {
               return (deliver);
         }
}

1 ответ

Vcl_fetch был перемещен в vcl_backend_response.

Тем не менее, возвращать pass из vcl_backend_response не очень хорошая идея. Вы должны переписать свой return (pass) в

set beresp.uncacheable = true;
set beresp.ttl = 120s;
return (deliver);

Весь ваш vcl_backend_response должен выглядеть следующим образом

sub vcl_fetch{
if (beresp.http.set-cookie ~ "sessionid" || beresp.http.set-cookie ~ "csrftoken") {
  set beresp.uncacheable = true;
  set beresp.ttl = 120s;
  return (deliver);
     } else {
           set beresp.ttl = 10s;
           set beresp.grace = 1h;
     }

}

Другие вопросы по тегам