通过 Apache 将请求转发到 openVPN

通过 Apache 将请求转发到 openVPN

我想知道是否可以通过 Apache 将请求重定向到 OpenVPN。
只要我需要绕过防火墙,我就需要为 openVPN 使用端口 80/443,但是 Apache 服务器本身就有两个端口。

Client ---> Firewall (allows 80/443 only) --->| ---> Apache (80/443) ---> OpenVPN (1194) |
                                              --------------------------------------------
                                                           My Server

我正在考虑 mod_proxy,但不确定这是否是个好主意,你有什么想法吗?
我希望可能的解决方案也适用于虚拟主机。

答案1

我用过sslh。效果非常好。

答案2

这个问题 - 共享端口 - 可以从相反的方向解决,通过让 Apache 监听端口 10443,并使用端口共享选项将来自 OpenVPN 的请求转发到那里。(通过)

port 443
port-share localhost 10443

答案3

您不能将同一端口用于多个服务。因此,您可以让 apache 在端口 80 或 443 上运行,但不能同时在两个端口上运行。另一个端口可用于将请求转发到 openvpn 服务器。

您可以尝试使用 SSH 进行端口转发。请查看此链接。你可以将服务器上的80端口转发到openVPN端口。当然,你需要更改openvpn客户端使用的端口。

答案4

httptunnel 包应该能帮你解决你的问题。源代码可从以下网址获取:ftp://ftp.gnu.org/pub/httptunnel

在服务器上:

  • 运行hts,重定向到openvpn(tcp)端口。
  • hts -F openvpn-ip:1194 8888

您需要使用 mod_proxy 设置虚拟主机以访问端口 8888

在客户端上:

  • 从 openvpn 客户端运行 htc

相关内容