我正在运行 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/