第 7 层负载均衡器上的 TLS 直通

第 7 层负载均衡器上的 TLS 直通

尝试去理解一些基本原理。

如果我想要一个负载均衡器来获得缓存和更智能的负载均衡的好处,我发现我应该考虑 L7,尽管这会对性能造成一些影响,但我不会坚持使用标准 TCP/IP 通信。

现在,假设我在 LB 级别有 TLS 终止,但是,我仍然希望从 LB 通信到我正在与之通信的微服务或下游服务器进行 TLS 通信。

流程是这样的吗:

  1. 客户提出请求https://example.com
  2. TLS 握手首先发送serverHello到负载均衡器,然后负载均衡器代理serverHello到后端应用程序。
  3. 在没有写出所有步骤的情况下,我假设整个 TLS 握手都是以 LB 作为中介进行的,但这个想法是 LB 本身正在与下游服务器执行这种单独的 TLS 握手过程和加密 + 解密。

这是正确的思路吗?在现实世界中是这样运作的吗?

我个人将其概念化为您想要的东西,因为从 LB 到服务的通信可以跨越网络上单独服务器的边界,因此您需要第二个 TLS 连接以避免在建立第二个连接后进行数据包嗅探。

答案1

如果您正在执行第 7 层(无论 TLS 终止与否),则传入连接将在负载均衡器处终止。LB 将打开一个与您的后端服务器的全新连接,该连接的生命周期完全独立于任何客户端连接。然后,如果 LB 无法自行处理请求(例如通过发送缓存响应),LB 将通过该连接将请求传递到您的后端。

PS 您的方向是相反的:下游是朝向用户代理,而上游是朝向您的后端服务器。

相关内容