Isso é possível
Por exemplo:
sub vcl_recv {
set req.http.X-COOKIEHASH = "";
if (req.http.Cookie ~ "COOKIEHASH=") {
set req.http.X-COOKIEHASH = regsub(req.http.Cookie,"^.*?COOKIEHASH=([^;]*);*.*$", "");
/* to prevent default action when cookies are present */
/* this is shortcut - you should adjust this to your VCL logic */
return (lookup);
}
}
sub vcl_hash {
hash_data(req.http.X-COOKIEHASH);
}
sub vcl_miss {
unset bereq.http.X-COOKIEHASH;
}
sub vcl_pass {
unset bereq.http.X-COOKIEHASH;
}
Em vcl_recv () extraímos valor para cookie (com o nome COOKIEHASH) e em vcl_hash () adicionamos esse valor à função hash.
Este é um exemplo para um cookie. Mas é fácil adicionar mais nomes de cookies. Você também deve se lembrar de lidar com outros cookies (descarte-os ou ignore).