node.js通过HTTPS获得文件套接字hangup

我想通过https从一个URL获取文件,并得到以下错误:

错误:套接字挂断

有趣的是,通过浏览器访问这个文件和curl正在工作,但不是通过node.js(请求)和wget。

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

  1. 服务器的SSL证书由DigiCert颁发,并包含一个通常不预安装的证书,即:DigiCert SHA2高保证服务器CA. DigiCert High Assurance EV Root CA中的其他证书应该没问题
  2. 该服务器还支持有限的TLS协议。 只有SSL3(这是不安全的和TLS 1.0支持)
  3. 如上所述,我可以通过curl来获取文件。 当使用wget时,只有在明确设置SSL协议并提供ca cert证书链文件(wget –secure-protocol = TLSv1 -ca-certificate =“path / to / ca-chain-file.pem” //path/to/image.jpg )

现在我试图完成两件事情,但都失败了:

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

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

请帮忙