![Apache 反向代理和 wireguard](https://linux22.com/image/763652/Apache%20%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86%E5%92%8C%20wireguard.png)
我拥有一个通过 Wireguard(1.0.20200513)运行 VPN 的 VPS(ubuntu 20.04)和一个 Apache(2.4.41)Web 服务器,并且我有一台连接到此 VPN 并运行 nextcloud(docker)的机器。
问题是,每当我尝试上传大于 2-2.5 GB 的文件时,它就会挂起,并且在接下来的 15-20 分钟内我将无法访问我的服务器。起初我以为可能是反向代理,但这个版本LimitRequestBody
默认是 0(我还明确将其设置为 0 以防万一),设置LimitRequestFields
为 0 也没有解决问题。然后我认为可能是 nextcloud,并尝试了 filerun:结果相同。最后,我担心机器本身出了问题,因为每当它挂起时我都无法进行简单的 ssh 登录。天哪,我甚至无法使用充当其 VPN 服务器的 VPS ping 它。但我刚刚发现,如果我物理登录计算机并重新启动其 wireguard 接口,一切都会恢复正常。
此外,当我连接到与 nextcloud 服务器相同的网络时,即使我通过 vpn 访问它而不是使用机器的本地 IP,一切也都正常工作,并且我已经能够上传 4GB 的文件。但是,我想可能是因为我在同一个网络中,我的电脑足够智能,一旦它知道它可以直接进入服务器(因为我们在同一个 LAN 中),它就会停止使用 vpn,它可能只是因为它跳过了大部分 vpn 部分而起作用。
因此,我不知道为什么反向代理和 wireguard 的组合可能会有缺陷,如果有人能给我指明正确的方向,我将不胜感激。
重要细节:
- VPS 和运行 nextcloud 的服务器都使用 Ubuntu 20.04 和 Wireguard 1.0.20200513。
- Apache 版本是 2.4.41。
- Nextcloud 的 docker 版本标签是
latest
,昨天更新。 - 该
PersistentKeepAlive
选项设置为25
。 - Apache 的错误日志只会说它无法连接到后端。
- 重新启动 VPS 的 wireguard 接口无法解决问题。我不得不重新启动客户端的接口。
- 既不设置
LimitRequestBody
也不LimitRequestFields
修复0
它。