node.js请求HTTPS报错:UNABLE_TO_VERIFY_LEAF_SIGNATURE\的解决方法
投稿:daisy
最近在工作中遇到一个问题,node.js请求HTTPS时报错:Error: UNABLE_TO_VERIFY_LEAF_SIGNATURE\,通过查找网上的一些资料找到了解决方法,现在总结下分享给大家,有需要的朋友们可以参考借鉴,下面来一起看看吧。
发现错误
最近在用Nodejs发送https请求时候,出现\”Error: UNABLE_TO_VERIFY_LEAF_SIGNATURE\”
的错误,错误如下:
events.js:72 throw er; // Unhandled \'error\' event ^ Error: UNABLE_TO_VERIFY_LEAF_SIGNATURE at SecurePair. (tls.js:1381:32) at SecurePair.emit (events.js:92:17) at SecurePair.maybeInitFinished (tls.js:980:10) at CleartextStream.read [as _read] (tls.js:472:13) at CleartextStream.Readable.read (_stream_readable.js:341:10) at EncryptedStream.write [as _write] (tls.js:369:25) at doWrite (_stream_writable.js:226:10) at writeOrBuffer (_stream_writable.js:216:5) at EncryptedStream.Writable.write (_stream_writable.js:183:11) at write (_stream_readable.js:602:24)
错误的原因是:对方数字证书设置不正确,
解决办法: 将rejectUnauthorized参数设置成false
var https = require(\'https\'); var options = { hostname: \'www.magentonotes.com\', port: 443, path: \'/\', method: \'GET\', rejectUnauthorized:false }; var req = https.request(options, function(res) { console.log(\"statusCode: \", res.statusCode); console.log(\"headers: \", res.headers); res.on(\'data\', function(d) { process.stdout.write(d); }); }); req.end(); req.on(\'error\', function(e) { console.error(e); });
参考资料:https://nodejs.org/api/https.html
总结
以上就是关于node.js请求HTTPS报错的解决方法,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。