自签名证书错误与NodeJS请求

我在代理服务器中使用NodeJS的请求库。

我有它正常工作,但我想要更改代理,以便而不是转发HTTP请求到HTTP地址,入站HTTP请求转发到HTTPS地址。

但是当我运行并尝试使用代理时,出现以下错误:

stream.js:74 throw er; // Unhandled stream error in pipe. ^ Error: self signed certificate in certificate chain 

我遵循在线说明来创build一个密钥,crt和一个假证书颁发机构(链接到代码中),但上面的错误表明它仍然不能正常工作。

我做什么显然是错的?

我的代码如下所示:

 var certFile = path.resolve(__dirname, 'server.CA-signed.crt'); var keyFile = path.resolve(__dirname, 'server.CA.key'); var ca = path.resolve(__dirname, 'demoCA/newcerts/1234567890.pem'); app.use(function(req, res) { var rewriter = request({ url: rewrite(req.url), qs: req.query, cert: fs.readFileSync(certFile), key: fs.readFileSync(keyFile), passphrase: 'foobar', agentOptions: { ca: ca } }); req.pipe(rewriter); rewriter.pipe(res); }); function rewrite(url) { console.log('url: ', url) var rewritten = 'https://example.com:9000'.concat(trimQuery(url)); console.log('rewritten: ', rewritten); return rewritten; }