Javascript NodeJS请求的自签名证书错误

Javascript NodeJS请求的自签名证书错误,javascript,node.js,http,ssl,request,Javascript,Node.js,Http,Ssl,Request,我正在代理服务器中使用NodeJS库 我可以让它正常工作,但我想更改代理,以便将入站HTTP请求转发到HTTPS地址,而不是将HTTP请求转发到HTTP地址 但当我运行并尝试使用代理时,会出现以下错误: 我按照联机说明创建了一个密钥、crt和一个伪证书颁发机构(在代码中链接到),但上面的错误表明它仍然不起作用 我是不是做错了什么 我的代码如下所示: var certFile = path.resolve(__dirname, 'server.CA-signed.crt'); var keyFil

我正在代理服务器中使用NodeJS库

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

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

我按照联机说明创建了一个密钥、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;
}
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;
}