deepstream.io 是否可以使用双向 TLS?

Is it possible to use mutual TLS with deepstream.io?

我有兴趣在 deepstream.io 服务器和 deepstream.io-client-js 客户端之间使用双向 TLS。我知道 deepstream.io 的教程提到将 SSL 终止留给 Nginx 或 HAproxy 等负载平衡器,但我如何使用 deepstream.io 客户端来提供适当的客户端证书?

经过一番研究,我发现您可以使用选项构建客户端,其中一个选项称为 nodeSocketOptions。这个对象在构造底层websocket时使用,所以在这里你可以给它cert,ca和key,从而从客户端启用相互tls。

const deepstream = require('deepstream.io-client-js'); 
const client = deepstream('localhost:6020', options).login();