首先,我是新手,不完全清楚自己在做什么。
我的 ras-pi 上运行着 apache2。我的路由器已正确进行了端口转发。当我启动机器并连接到其外部 IP 时,一切正常,我收到了网站内容。当我将服务器连接到 VPN 服务 (expressvpn) 并尝试连接到新的外部 IP 地址时,我会看到一个页面,上面只显示
403 Forbidden | nginx
我没有运行 nginx,所以看起来我的请求完全发往另一台服务器??
有人能解释一下连接到 VPN 和未连接到 VPN 的 Web 服务器处理请求的区别吗?或者提供一些有用的资源供大家参考?
答案1
当您通过 vpn 连接装有 apache2 的 ras-pi 服务器时,外部 ip 地址将成为 vpn 提供商的服务器地址。如果该提供商没有将任何端口转发到您的 NAT ip 地址,则没有人可以访问您的服务器。
它是这样的:
client wants https://vpnip:Yourserverport --> VPN Service Provider --> ??? To which ip should I send this ???
client wants https://modemswanip:serverport --> your modem -(port forwarding to LAN IP)--> ras-pi (apache2)
答案2
你确定你没有安装 Nginx 吗?如果它们都使用同一个端口,那就不好了。你可以用 Apt 来检查。
apt list --installed nginx
虽然你可能更容易删除 Nginx,
apt remove nginx
...可以配置 Apache 和 Nginx 来协同工作。
如何在同一 Ubuntu VPS 或专用服务器上配置 Nginx 和 Apache
但这可能仍然意味着修复同样的错误。
在 Ubuntu 上运行的东西也应该在 RaspiOS 上运行。
还有一种可能性……?
您的商业 VPN 服务器是 Nginx 服务器。您可能遇到的问题是,您在 VPN 服务中使用了共享或专用 IP,而没有为您的 Web 服务器创建静态 IP。
有关如何设置静态 IP 的另一个有用的链接。