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.
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
?
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.