【问题标题】:Node.js Multiple SSL CertificatesNode.js 多个 SSL 证书
【发布时间】:2020-11-04 23:55:41
【问题描述】:

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

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

【问题讨论】:

标签: node.js ssl ssl-certificate


【解决方案1】:

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

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

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

工作原理:

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

SNI 说明:

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

我希望这对你有帮助。我将其发布为文档目的。

【讨论】:

    猜你喜欢
    • 2019-05-26
    • 2012-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-21
    相关资源
    最近更新 更多