You got Varnish serving up cached pages! Great!
Until you realise that when you grab a users $_SERVER[‘REMOTE_ADDR’], you get your server IP address!
Not good! Lets fix that, using reverse proxy add forward module for Apache (mod_rpaf)
wget http://www.stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz tar -zxvf mod_rpaf-0.6.tar.gz cd mod_rpaf-0.6 apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c
Now it’s installed, you need to add some guff to your Apache httpd.conf. If you are crippled by a cPanel install, then you edit it by going into WHM, clicking Apache Configuration, Include Editor, and under Pre Main Include select all versions of Apache. Paste in the following, inserting your servers IP address where I’ve written “Server.IP.Goes.Here”.
LoadModule rpaf_module modules/mod_rpaf-2.0.so # mod_rpaf Configuration RPAFenable On RPAFsethostname On RPAFproxy_ips 127.0.0.1 Server.IP.Goes.Here RPAFheader X-Forwarded-For
Thats you! cPanel/WHM should restart the Apache server. Obviously command line commandos will type service httpd restart or one of the other similar commands, depending on your OS.
Now when you check, you will find you are getting the correct REMOTE_ADDR again!