我在 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 本身将无法工作。