เราสามารถทำการบันทึก Client IP ทีเครื่อง backend แทนที่จะให้ปรากฎเป็น IP ของ varnish เช่น 127.0.0.1 สามารถทำได้โดยการ แก้ไขไฟล์ /etc/varnish/default.vcl
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; # [...] }
และเพิ่มบรรทัดต่อไปนี้ในไฟล์ /etc/httpd/conf/httpd.conf
LogFormat "%{X-Forwarded-For}i %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" varnishcombined
และใน VirtualHost directive ให้ใช้ CustomLog ดังตัวอย่างต่อไปนี้
<VirtualHost *:80> ServerName www.example.com # [...] CustomLog /var/log/apache2/www.example.com/access.log varnishcombined # [...] </VirtualHost>
ที่มา: http://varnish-cache.org/wiki/FAQ#HowcanIlogtheclientIPaddressonthebackend