如果我在 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。