Once you have put a reverse proxy in front of your Apache site, you will only see the IPs of the proxy server. This will cause issues of you are using IP for authentication, or for location based services.

This is quickly resolved by adding this module to apache - rpaf

For ubuntu - it is this easy -

sudo apt-get install libapache2-mod-rpaf
a2enmod rpaf
service apache2 reload

Thats it. Now you will have the correct IP from the initial client browser available for Apache, which no changes required in your code.

Details here for Ubuntu: https://help.ubuntu.com/community/Nginx/ReverseProxy