Hi there,

actually, i am in a migration project from varnish 3 to varnish 4.0, and i was 
confused about the x-forwarded-for header settings in varnish 4.0:
in the official doc, it says that x-forwarded-for is automatically set, like it 
is obvious in the source code: 
https://github.com/varnishcache/varnish-cache/blob/4.0/bin/varnishd/cache/cache_req_fsm.c#L724

But a lot of people are adding a snippet for vcl_recv like

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;
    }
}

Which, from my point of view, is the same implementation as it already should 
exist as the docs say. I currently do not have a LB/proxy infrastructure to 
test it, so maybe someone can clear this up, if x-forwarded-for is 
automatically set by varnish before executing the vcl_recv from my custom 
.vcl-file, or if the given snippet is required to set the real user ip for 
x-forwarded-for.

Thank you very much!

Greetings, Niklas

_______________________________________________
varnish-misc mailing list
[email protected]
https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc

Reply via email to