服务器无法识别 VPN IP 地址,直接访问客户端地址

服务器无法识别 VPN IP 地址,直接访问客户端地址

我在 Digital Ocean 上有一个 Ubuntu 服务器,运行 Apache 作为 Web 服务器。该服务器既可用作我的 Web 服务器,也可用作个人 VPN。

我正在尝试设置它,以便某些目录仅供连接到我的 VPN 的设备和其他某些请求者访问。但是,我的服务器似乎无法正确处理这个问题。

如果我访问任何 IP 检查器(ipchicken.com、icanhazip.com、dnsleaktest.com 等),它会显示我的 IP 地址为托管我的 VPN 的 Digital Ocean 服务器的 IP,104.2**.**.*

如果我断开与 VPN 的连接,它会显示我的 ISP 提供的 IP 地址 108.1**.*.***

我在服务器上放了一个 PHP 脚本,它只是打印出$_SERVER变量。出于某种原因,无论我是否连接到 VPN,这个脚本总是显示[REMOTE_ADDR] => 108.1**.*.***

这可能是什么原因造成的?是不是因为 VPN 与 Apache 位于同一台服务器上,所以 Apache 在通过 VPN 运行之前就接收到了连接?我该如何解决这个问题?

答案1

“为什么我不使用 VPN 来访问同一个 VPN 的另一端?”

您无法连接VPN通过同一个 VPN。这将涉及无限递归。VPN 端点的 IP 地址必须可直接访问,否则 VPN 本身将无法工作。

相关内容