Si varnish est bien configuré, il envoie l’IP du client dans le paramètre HTTP X-Forwarded-For.
Pour le voir dans les logs apache2, il faut modifier le LogFormat utilisé et remplacer %h par %{X-Forwarded-For}i :
LogFormat "%v:%p %{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
Si vous avez du https ou d’autre accès au apache2 sans varnish, vous ne verrez pas l’IP client. Pour cela on peut avoir 2 LogFormats différents en fonction de l’IP source de la requête :
LogFormat "%v:%p %{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined LogFormat "%v:%p %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined_direct SetEnvIf Remote_Addr '^127.0.0.' varnish CustomLog /var/log/apache2/other_vhosts_access.log vhost_combined env=varnish CustomLog /var/log/apache2/other_vhosts_access.log vhost_combined_direct env=!varnish