分布式代理如何路由流量SNI

问题描述

问题

此问题与使用SNI的分布式环境中的常规路由有关。 当有多个代理进行SNI路由时,如何路由后续数据包?在执行SNI路由的所有代理之间是否必须存在共享状态,以便后续数据包能够正确路由?

进一步的说明

鉴于我具有以下网络拓扑:

Load_Balancer(1..n) -> Proxy(1..n) -> VM(1..n)

Load_Balancer通过入站端口映射进行NAT,代理通过SNI路由到VM。

发生TLS连接握手时,执行SNI路由的代理首先接收要路由到的server_name并在代理上创建会话。但是,当我有多个代理服务器时,如何路由后续数据包?一个代理中的会话是否需要与所有其他代理共享?

假设我有2个代理。 ProxyA和ProxyB以及我的Load_Balancer首先路由到ProxyA

tls_handshake_packet{mac: a,port: A,server_name: s} -> Load_Balancer(reads port) -> ProxyA(reads server_name) -> VM

稍后,Load_Balancer(通过循环)将同一消息的后续数据包路由到ProxyB

subsequent_data_packet{mac: a,MISSING_SERVER_NAME} -> Load_Balancer(reads port) -> ProxyB(no server name to read,no prevIoUs session kNown) -> ERROR

很抱歉,这很抱歉。我发现很难说明我的问题。如果您认为我可以澄清我的问题,请添加评论。谢谢您的时间。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)