我正在尝试使用url从jira服务器下载文件,但出现错误。如何在代码中包括证书以验证 错误:
Error: unable to verify the first certificate in nodejs at Error (native) at TLSSocket.<anonymous> (_tls_wrap.js:929:36) at TLSSocket.emit (events.js:104:17) at TLSSocket._finishInit (_tls_wrap.js:460:8)
我的Nodejs代码:
var https = require("https"); var fs = require('fs'); var options = { host: 'jira.example.com', path: '/secure/attachment/206906/update.xlsx' }; https.get(options, function (http_res) { var data = ""; http_res.on("data", function (chunk) { data += chunk; }); http_res.on("end", function () { var file = fs.createWriteStream("file.xlsx"); data.pipe(file); }); });
这总是比盲目地接受未经授权的端点要安全得多的选择,后者只能被用作最后的手段。
这可以像添加一样简单
require('https').globalAgent.options.ca = require('ssl-root-cas/latest').create();
到您的应用程序。
该SSL根CA NPM包(这里使用的)是关于这个问题的一个非常有用的包。