Node.js多个SSL证书

时间:2013-09-26 21:35:44

标签: node.js ssl ssl-certificate

是否可以让Node.js使用多个SSL证书?我目前正在使用一个证书,但发布了与其他域匹配的新证书。

由于我的服务器位于负载均衡器后面,因此有两种方法可以实现它,我想匹配它们。有没有办法使用两个证书,而不是用两个匹配创建一个?

1 个答案:

答案 0 :(得分:7)

有关在单个https服务器上托管多个域的信息,请参阅this答案

简而言之,您可以使用SNI callback服务器中的https

SNI代表Server Name Identification,它由所有现代浏览器实现。

工作原理:

浏览器发送主机名未加密(如果它支持SNI)。请求的其余部分由证书加密。然后,HTTPs模块可以让您决定使用哪个SSL证书来解密连接。

SNI备注:

  • 如果您需要安全连接,AWS Cloudfront和其他服务将使用SNI
  • SNI需要一个现代化的浏览器才能工作。但是,鉴于AWS使用它,我也有信心使用它。
  • 根据您的实施方式,可能会降低请求速度。
  • 在这之前放置一个nginx代理可能会更好。
    • 您的连接就像这样:(HTTPS) -> NGINX -> (HTTP) -> Node
    • Nginx还可以提供静态文件,这可能会优化您的网站。

我希望这会对你有所帮助。我将其发布用于文档目的。