I have setup a PPTP VPN server on AWS and everything works perfectly. When connected to my VPN e.g. www.getip.com shows the IP address of the VPN server.
So far so good...
On the same server I installed an Apache server where I run a PHP script to get me my own IP address:
$ip = isset($_SERVER['HTTP_X_FORWARDED_FOR']) ? $_SERVER['HTTP_X_FORWARDED_FOR'] : $_SERVER['REMOTE_ADDR'];
Regardless if I am connected to VPN this code shows my local IP. I am not using varnish or any similar caching.
Any idea why this is the case? - Are the $_SERVER variables saved in the PHP session?
Your help is very much appreciated.
[UPDATE] The problem is definitely linked to the fact that the VPN server and the PHP script are on the same server. If I put the script on a different server everything works as desired. If connected to the VPN I expect to see the public IP of the server (which is the VPN server at the same time).