Fri Feb 5 16:58:01 EET 2010

How to fix logging issues with Varnish configured to log client IP Addresses in Apache log

Since a couple of days, I've noticed that client IP addresses are logged twice in my Apache log file
httpd-access.log. That's definetely shit. Here is how I solved the issue:

I modified my:
/usr/local/etc/varnish/default.vcl that after the modification the file looked like:
backend default {
.host = "127.0.0.1";
.port = "8080";
}

sub vcl_recv {
  if (req.url ~ "\.(jpg|jpeg|gif|png|tiff|tif|svg|swf|ico|mp3|mp4|m4a|ogg|mov|avi|wmv)$") {
  lookup;
  }

  if (req.url ~ "\.(css|js)$") {
  lookup;
  }
  }
  sub vcl_fetch {
  if( req.request != "POST" )
  {
  unset obj.http.set-cookie;
  }

  set obj.ttl = 600s;
  set obj.prefetch =  -30s;
  deliver;
  }


Well that's it after restarting varnishd with:
/usr/local/etc/rc.d/varnishd restart
Client ip is now logged only once in Apache's log file, Cheers! :)