【问题标题】:Node unable to verify the first certificate when accessing CouchDB through HTTPS with a Let's Encrypt certificate使用 Let's Encrypt 证书通过 HTTPS 访问 CouchDB 时,节点无法验证第一个证书
【发布时间】:2020-07-11 06:55:23
【问题描述】:

我实际上已经找到了这个问题的答案,只是想记录下我的发现。

问题与使用 Node.js 通过 HTTPS 访问 CouchDB 有关。 CouchDB 服务器已配置 SSL 证书,该证书由 Let's Encrypt 生成。 local.ini 中指定的 cert_file 包含服务器证书和问题的中间证书。当我通过浏览器验证 URL 时,连接显示为有效。但是,每当我尝试从 Node 获取相同的 URL 时,就会抛出 UNABLE_TO_VERIFY_LEAF_SIGNATURE / 无法验证第一个证书 错误。

我尝试使用 NODE_EXTRA_CA_CERTS 环境变量将根证书添加到 Node。那失败了。然后,我尝试将中间证书添加到 NODE_EXTRA_CA_CERTS,并且成功了。我可以停在那里,但不知何故我知道出了点问题。

【问题讨论】:

    标签: node.js https ssl-certificate couchdb lets-encrypt


    【解决方案1】:

    经过更多的挖掘,我终于发现虽然CouchDB使用的cert_file包含了服务器证书和中间证书,但与其他一些服务器不同, CouchDB 本身只会发回服务器证书。为了以正确的方式解决此问题,我还需要在 local.ini 文件中将中间证书指定为 cacert_file。一旦我这样做了,错误就消失了。

    【讨论】:

      猜你喜欢
      • 2022-08-10
      • 1970-01-01
      • 2021-09-03
      • 2020-06-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-20
      • 2020-04-25
      • 1970-01-01
      相关资源
      最近更新 更多