尝试使用运行 apache、varnish 和 cloudflare 的服务器记录网站访问者的真实 IP。
我目前正在记录来自访问者的 cloudflare 服务器 IP,在更改 default.vcl 文件后,使用以下代码在报告 127.0.0.1 后重新记录传入请求。
sub vcl_recv {
# Add a unique header containing the client address
remove req.http.X-Forwarded-For;
set req.http.X-Forwarded-For = client.ip;
}
还改变日志格式。
LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" varnishcombined
我也安装了 mod_clouflare,但我只收到了 cloudflare IP,而不是真正的访问者。
我见过 NGINX 的解决方法,但没有见过 Apache 的解决方法。