我们正在构建一个负载平衡设置,其中包含两个负载平衡器(也终止 SSL)和多个上游服务器。负载平衡器和上游服务器都运行 nginx。转发请求到上游服务器的网络不可信任,因此我们必须在负载平衡器上的 SSL 终止后重新加密它。我们想知道应该采用哪种方式重新加密连接:
- SSL:负载均衡器使用 SSL 连接到上游服务器。
- 积极:相当有弹性,因为每个连接都是从头开始建立的
- 缺点:SSL 握手增加了延迟
- 持久 SSH 隧道
- 优点:没有(或更少?)增加延迟
- 缺点:隧道可能会中断,必须使用 autossh 等进行监控
此外,我不确定这两种解决方案的吞吐量如何比较。有人对其中一种或两种解决方案有经验吗?或者有更好的方法吗?
答案1
这个问题问得好,也符合我的兴趣。
我会投票支持带有监控或 VPN 的持久 SSL 隧道,正如所说。然后需要对所有流量进行一次加密。由于它是一个负载平衡器,您应该能够轻松地在加密链接失败时超时。
你已经实施了一些事情吗?