配置 varnish 以使用 IP 地址写入 apache 错误日志

配置 varnish 以使用 IP 地址写入 apache 错误日志

我正在运行 Varnish 的 Web 服务器上安装 fail2ban。许多“jails”都需要访问 apache/php 错误日志。

我遇到的一个问题是日志文件中所有引用的 IP 地址都是 127.0.0.1。

我通过运行以下命令解决了有关 access.log 的这个问题:

varnishncsa -a -w /var/log/varnish/access.log -D -P /var/run/varnishncsa.pid

是否可以对 /var/log/apache/*_error.log 中出现的日志执行类似操作?

谢谢

答案1

将以下内容添加到您的/etc/varnish/default.vcl

sub vcl_recv {
  remove req.http.X-Forwarded-For;
  set req.http.X-Forwarded-For = client.ip;
}

更新您的 apache 配置以更改CustomLog为以下内容:

LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b" varnishcombined
CustomLog /var/log/example.com-access_log varnishcombined

欲了解更多信息,请查看此页面:http://www.techinfobest.com/getting-real-client-ip-through-varnish/

相关内容