事实上,我已经找到了这个问题的答案,我只想把我的发现记录下来。
这个问题与使用Node.js通过HTTPS访问CouchDB有关。CouchDB服务器配置了由生成的SSL证书--让我们加密。在cert_file中指定的local.ini包含服务器证书和颁发的中间证书。当我通过浏览器验证一个URL时,连接显示为有效。但是,每当我试图从Node获取相同的URL时,就会引发一个UNABLE_TO_VERIFY_LEAF_SIGNATURE /无法验证第一个证书错误。
我尝试使用NODE_EXTRA_CA_CERTS环境变量将根证书添加到Node。但失败了。然后,我尝试将中间证书添加到NODE_EXTRA_CA_CERTS,中,它成功了。我可以到此为止,但不知何故我知道出了什么问题。
发布于 2020-03-30 19:52:18
经过更深入的研究,我终于发现,尽管CouchDB使用的cert_file包含服务器证书和中间证书,但与其他一些服务器不同,CouchDB本身只会发送服务器证书。为了以正确的方式解决这个问题,我还需要在local.ini文件中将中间证书指定为。一旦我这么做了,错误就消失了。
https://stackoverflow.com/questions/60938454
复制相似问题