在第 4 层使用 SSL 终止的 WSS 负载平衡

在第 4 层使用 SSL 终止的 WSS 负载平衡

是否有可能在第 4 层负载均衡器上终止 wss(安全 websocket)的 SSL?

在我看来,wss(和 ws)通常需要 TCP 路由,因为 HTTP 反向代理无法理解数据包;而且,SSL 终止需要第 7 层路由,因为会话实际上是在第 4 层之上维护的。我对第一个说法有点信心,对第二个说法则不那么有信心。

附加问题。如果一般来说可以在单个负载均衡器中实现 wss 路由和 ssl 终止,那么可以使用 HAProxy 来实现吗?Nginx 呢?还是其他?

答案1

理论上是的。WSS 使用 HTTP 进行握手,会话协商完成后,将传递给 WSS。

然而,负载均衡器有多种形式,协议实现也有很多不足之处。NGNIX
似乎是一个不错的选择,因为他们实际上在其网站上提到了这一点。

资源: https://www.nginx.com/blog/websocket-nginx/

http://nginx.org/en/docs/http/websocket.html?_ga=1.232918046.1407092516.1485627218

相关内容