Varnish - Permitir cookies específicos para o backend?

2

Estou tentando descobrir como permitir que o backend veja cookies de rastreamento em páginas de registro específicas, mas os ignore em outras. Atualmente, estou tentando usar um cabeçalho personalizado enviado do back-end para set beresp.ttl = 0s; dentro do vcl_fetch :

if (beresp.http.cache-control ~ "max-age=-30") { set beresp.ttl = 0s; }

Mas as páginas reg ainda impedem que o backend leia o cookie.

No vcl_recv , estou removendo-os usando este método:

set req.http.Cookie = regsuball(req.http.Cookie, "(^|;\s*)(__[a-z]+|_ga|_mkto_trk)=[^;]*", "");

set req.http.Cookie = regsub(req.http.Cookie, "^;\s*", "");

if (req.http.Cookie ~ "^\s*$") { unset req.http.Cookie; }

Como posso permitir que o cookie seja lido no backend nessas páginas específicas? Eu suponho que preciso criar exceções no vcl_recv ?

    
por Taylor 11.03.2014 / 19:29

1 resposta

0

Sim - você precisa "retornar (perder)"; nas solicitações no backend. vcl_fetch é acionado somente ao "buscar" um item do backend - se um item já estiver armazenado em cache, o verniz não executará o código de busca.

    
por 14.03.2014 / 19:34