在客户端中支持无需 SNI 支持的虚拟主机路由

在客户端中支持无需 SNI 支持的虚拟主机路由

我们正在尝试构建一个可以转发到多个虚拟主机的 TCP 代理。这个想法是,可以使用单个 IP 地址将入站请求路由到多个内部 IP 地址。最初的想法是将 TCP 代理分为两部分:一个知道要提供哪些 SNI 信息的客户端和一个可以将 SNI 转换为适当的私有 IP 并建立连接的服务器。

通信进入 TCP 代理客户端时无需任何 SNI 信息。客户端需要打开一个 TCP 连接来填充 SNI,以便服务器能够就如何路由流量做出明智的决策。

看来这种方法需要读取 TLS clienthello 并在运行过程中对其进行修改。如果可能的话,我们目前希望在没有 SSL 终止的情况下执行此操作。这种方法有意义吗?

相关内容