node.js通过https结果获取文件套接字挂起

时间:2017-03-05 12:44:40

标签: node.js ssl https request

我想通过https从网址获取文件,并收到以下错误:

  

错误:套接字挂断

有趣的是,通过浏览器访问此文件并使其卷曲,但不是通过node.js(request)和wget。

我调查了这个问题并发现了以下内容:

  1. 服务器的SSL证书由DigiCert颁发,并且包含通常不预装的链中的证书,即:DigiCert SHA2 High Assurance Server CA.链中的另一个证书是DigiCert High Assurance EV Root CA,应该没问题
  2. 服务器还支持有限数量的TLS协议。仅支持SSL3(支持不安全和TLS 1.0)
  3. 如上所述,我可以通过curl获取文件。当使用wget时,它只有在我明确设置SSL协议并提供ca证书链文件时才有效(wget --secure-protocol = TLSv1 --ca-certificate =" path / to / ca-chain-file.pem& #34; https://path/to/image.jpg
  4. 现在我尝试完成两件事但失败了:

    1. 将ca-cert注册到我的操作系统(本地MAC,服务器在Ubuntu上运行)
    2. 在我的节点应用程序中发出GET请求时提供这些额外的配置:

      request.get({
          url: location,
          encoding: 'base64',
          agentOptions: {
              ca: fs.readFileSync('path/to/ca-chain-file.pem'),
              secureProtocol: 'TLSv1_method'
          }
      })
      
    3. 请帮忙

0 个答案:

没有答案