nodejs集群不同的TLS会话处理



我要做的是:创建多个侦听同一端口的TLS服务器。每个TLS服务器都有不同的证书集,并且应该只允许特定的客户端集。例如,第一个TLS服务器应该允许客户端X而不允许客户端Y。第二个TLS服务器应允许客户端Y而不允许客户X。

我遇到的问题是客户端Y和X都只连接到第一个TLS服务器。每个客户端使用的TLS证书不同,由不同的TLS服务器签名,但它们往往只连接到第一个TLS服务器。

如果您对这个问题有任何想法,我们将不胜感激。

这种设置根本不起作用。集群API允许多个工作者共享一个端口,但没有关于哪个工作者被分配给哪些请求的情报。如果没有太多的负载,那么完全有可能只有一个工作者会接收到所有的请求。

我不确定你想做什么,但如果你仔细想想,这种设置是没有意义的。如果您有不同的证书,那么TLS会话就无法成功设置。这就像试图将多个SSL证书绑定到同一个IP。

我唯一能看到这一点的方法是,如果这些不同的证书中的每一个都对应一个不同的主机名。在这种情况下,您可以尝试使用SNI,如http://nodejs.org/docs/latest/api/tls.html#tls.connect.但是,每个工作进程仍然需要访问相同的证书池。

最新更新