Node.js多个SSL证书

dar*_*sky 8 ssl ssl-certificate node.js

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

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

cod*_*nja 7

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

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

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

这个怎么运作:

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

SNI备注:

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

我希望这可以帮助你.我发布此文章用于文档目的.