A função vcl_recv
padrão (que é anexada à sua) contém isso:
if (req.restarts == 0) {
if (req.http.x-forwarded-for) {
set req.http.X-Forwarded-For =
req.http.X-Forwarded-For + ", " + client.ip;
} else {
set req.http.X-Forwarded-For = client.ip;
}
}
.. que está modificando o cabeçalho. Para evitar que isso aconteça, você deve ter seu vcl_recv
implementado como uma função completa que sempre retorna, em vez de depender do acréscimo do comportamento padrão, que contém a configuração que você não deseja. Algo parecido com isto:
sub vcl_recv {
if (req.http.Range) {
return(pipe);
}
if (req.request != "GET" &&
req.request != "HEAD" &&
req.request != "PUT" &&
req.request != "POST" &&
req.request != "TRACE" &&
req.request != "OPTIONS" &&
req.request != "DELETE") {
/* Non-RFC2616 or CONNECT which is weird. */
return (pipe);
}
if (req.request != "GET" && req.request != "HEAD") {
/* We only deal with GET and HEAD by default */
return (pass);
}
if (req.http.Authorization || req.http.Cookie) {
/* Not cacheable by default */
return (pass);
}
return (lookup);
}