我在 AWS 上设置了一个 PPTP VPN 服务器,一切正常。当连接到我的 VPN 时,例如 www.getip.com 会显示 VPN 服务器的 IP 地址。
到现在为止还挺好...
在同一台服务器上,我安装了一个 Apache 服务器,我在其中运行 PHP 脚本来获取我自己的 IP 地址:
$ip = isset($_SERVER['HTTP_X_FORWARDED_FOR']) ? $_SERVER['HTTP_X_FORWARDED_FOR'] : $_SERVER['REMOTE_ADDR'];
无论我是否连接到 VPN,此代码都会显示我的本地 IP。我没有使用清漆或任何类似的缓存。
知道为什么会这样吗?- $_SERVER 变量是否保存在 PHP 会话中?
非常感激您的帮忙。
[更新] 这个问题肯定与 VPN 服务器和 PHP 脚本在同一台服务器上有关。如果我将脚本放在不同的服务器上,一切都会按预期工作。如果连接到 VPN,我希望看到服务器的公共 IP(同时是 VPN 服务器)。