使用 Haproxy 或 Nginx 反向代理 OpenVpn

问题描述 投票:0回答:2

我想知道如何使用 SNI 反向代理 openvpn 连接,我已经阅读了很多相关内容:HEREHERE

我尝试过任何类型的解决方案,使用 haproxy 和 nginx,但似乎我的客户端(我尝试过 Tunnelblick 和 Linux 上的简单 openvpn 客户端)不发送 SNI 信息

基本上,这就是我想要达到的结果:

vpn1.app.com ─┬─► *.app.com dns -> nginx at my public ip ─┬─► vpn1 at 10.0.0.3

vpn2.app.com ─┤                                           ├─► vpn2 at 10.0.0.4

vpn3.app.com ─┘                                           └─► vpn3 at 10.0.0.5

有什么想法吗?

nginx reverse-proxy haproxy openvpn
2个回答
0
投票

[更新] 我这些天一直在搜索并寻找解决方案,但是总而言之,OpenVpn 在其架构中似乎没有向服务器发送 SNI 指示,所以,不有机会这样做。

我将使用经典的老式方法:NAT 和适当的公共 DNS 来管理它们。


0
投票

现在已经是 2023 年了,OpenVPN 2 仍然不允许您在 TLS 数据包中发送 SNI。

如果您切换到 OpenVPN 3,当然可以!

Windows下需要自己编译客户端。

之后,您可以将“sni”选项添加到客户端配置文件中,并通过刚刚编译的终端客户端使用它。

例如:

...
remote test.com 1194
sni "test.com"
...

不过,就个人而言,我无法像一些指南建议的那样使用 nginx 和 $ssl_preread_server_name 反向代理 TCP 流。

编译适用于 Windows、Linux 和 macOS 的 openvpn3 客户端的链接:

https://github.com/OpenVPN/openvpn3

© www.soinside.com 2019 - 2024. All rights reserved.