Node.js – 在运行时dynamic更改HTTPS服务器的SSL证书
我正在build立一个HTTPS代理node
。 基本上,我允许用户为我的代理服务器设置一个DNS CNAME别名,并将他们的SSL证书导入到我的应用程序中(例如AWS Elastic Load Balancer),以便他们的CNAME主机名得到适当的保护,每一个请求都被客户认可。
现在我正在代理端工作,我试图find一种方法来在与客户端的SSL握手之前dynamic地加载正确的证书。 工作stream程是:
- 服务器收到新的请求
- 获取客户端请求的主机名(即用户设置的DNS CNAME别名)
- 加载属于该主机名的正确证书
- 在当前请求中使用加载的证书 (需要帮助)
- 握手(加载的证书 – 因请求而异)
有没有办法做到这一点?
在这里我们去: 在节点中使用SNI应该使它工作。
问题是并不是所有的客户端(浏览器或库)都支持它。