3

我正在使用节点 js HTTP-Proxy 模块来代理对域的请求。当我使用模块代理请求时,如下所示,出现 SSL 错误

 httpProxy = require('http-proxy'),
    fs = require('fs');
    process.env['NODE_TLS_REJECT_UNAUTHORIZED'] = 0;

    httpProxy.createServer({
      ssl: {
        key: fs.readFileSync('key.pem', 'utf8'),
        cert: fs.readFileSync('certificate.pem', 'utf8')
      },
      target: 'https://company.com',
      secure:false
       // Depends on your needs, could be false.
    }).listen(443);

这个错误出来

错误:写入 EPROTO 4548494784:错误:14094438:SSL 例程:ssl3_read_bytes:tlsv1 警报内部错误:../deps/openssl/openssl/ssl/record/rec_layer_s3.c:1544:SSL 警报编号 80

但是,当我尝试使用请求模块访问同一个域时,我得到了正确的响应

app.get('/', (req, res) => request({
  uri: 'https://company.com'
}).pipe(res))

这工作正常。

仅在与某些域的 SSL 连接中才会注意到此错误。我怀疑它在域中的某些东西。但是,我无法理解 Request 模块如何工作,并且考虑到它们可能使用相同的底层基础代码,http-proxy 模块对于相同的 url 将失败。如果有人可以帮助阐明我哪里出错了,将不胜感激。

4

0 回答 0