【发布时间】:2020-06-04 16:58:48
【问题描述】:
我想在下面询问您的灯: 使用nodeJS,我试图在我的服务器(在这种情况下充当客户端)和外部服务器之间建立https连接。 我们要使用客户端证书验证,外部服务器提供了自签名的 private.key 和 client.crt 证书。 我的代码如下:
router.get('/mywebhook', function (req, res) {
console.log('/mywebhook');
var request = require("request");
//var options;
var options = { method: 'GET',
url: 'https://externalserverURL'
,cert: fs.readFileSync('certs/client_crt.pem')
,key: fs.readFileSync('certs/key.pem')
}
request(options, function (error, response, body) {
if (error){
//throw new Error(error);
console.log(error);
return res.end(error);
}
console.log('all ok')
return res.end(body);
});
});
我得到了以下错误: 错误:自签名证书 代码:'DEPTH_ZERO_SELF_SIGNED_CERT'
设置 sst-strict = false 是我想要避免的。 我错过了什么吗?有什么帮助吗?
【问题讨论】:
-
您可以将自签名 SSL 的 crt 文件添加为运行 node.js 的服务器(在操作系统级别而不是节点特定配置)中受信任。
标签: node.js