varnish 转发的 IP 在 apache 日志中出现两次

varnish 转发的 IP 在 apache 日志中出现两次

如果我在 varnish 中使用以下配置,

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

并像这样配置 apache logformat,

LogFormat "%{X-Forwarded-For}i %t \"%r\" %>s %b \"%{User-agent}i\"" varnishcombined
        CustomLog ${APACHE_LOG_DIR}/access.log varnishcombined

我最终在 apache 日志中两次显示了转发的 ip(客户端的 ip)。但如果我简单地使用:

unset req.http.x-forwarded-for;
set req.http.x-forwarded-for = client.ip;

然后一切就正常了。但问题是,为什么第一个例子中的 ip 显示了两次?

我正在使用 Ubuntu 16.04.5、apache 2.4.18 和 varnish 4.1.10-1~xenial。

相关内容