我正在尝试创建从客户端到服务器的单个 TLS 连接。在此隧道内,我希望有两种不同类型的流:我希望服务器转发到特定 API 服务器的 HTTPS 流量和 OpenVPN 流量(它是 TLS 和 TCP 数据流的组合)。
我正在研究 WebSocket 这样做,但找不到有关如何将流转发到正确目的地(OpenVPN 与 HTTPS API 服务器)的信息,一旦它到达我的服务器。
WebSocket 是一个很好的解决方案吗? stunnel 是更好的选择吗?是否有提供此功能的现有解决方案?
最佳答案
我最终使用 SSLH 和 ghostunnel 解决了这个问题:在客户端上,我启动了一个 ghostunnel 监听 127.0.0.1:8443 并将 TLS 包装的流量转发到我在云中的一个 ghostunnel 服务器(监听 443)。我已指示我的 OpenVPN 客户端连接到 127.0.0.1:8443。我还指示我的 HTTPS 客户端连接到 127.0.0.1:8443。
在服务器端,来自 ghostunnel 服务器的流量被汇集到 SSLH 服务器中,该服务器又具有两条规则:将 TLS 流量转发到我的网络服务器,将 OpenVPN 流量转发到我的 OpenVPN 服务器。该解决方案效果很好!
关于ssl - 如何在一个 TLS 连接中封装 OpenVPN 和 HTTPS 流量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66949825/