X-Forwarded-For automatically set in varnish 4.0?

Donath, Niklas Niklas.Donath at lvdigital.de
Tue Feb 14 09:20:02 CET 2017

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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.varnish-cache.org/lists/pipermail/varnish-misc/attachments/20170214/b3110901/attachment.html>

More information about the varnish-misc mailing list