如何将 OpenVPN 和 HTTPS 流量封装在一个 TLS 连接中?

How to wrap OpenVPN and HTTPS traffic in one TLS connection?

我正在尝试创建从客户端到服务器的单个 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 服务器。该解决方案非常有效!