Sails.js中的HTTPS请求-出现错误:错误:客户端网络套接字在建立安全TLS连接之前已断开连接。

时间:2019-02-16 14:32:49

标签: ssl https ssl-certificate sails.js httprequest

我试图在Sails.js中发出HTTPS请求,并收到错误消息: Error: Client network socket disconnected before secure TLS connection was established

我认为我缺少要发送的SSL文件,但是我不确定是否可以,我不确定如何从页面获取它们。

我正在尝试使用request库在Sails.js中发出HTTP请求。

我在Firefox中下载了网站的SSL证书(仅获得了一个.crt文件)。

我将文件放在Sails的assets目录中。

我在config/ssl.js创建了一个sails config SSL文件,并在其中从assets目录中导出了SSL证书文件。

我创建了一个控制器,导入了SSL配置对象,并将其放入请求的agentOptions属性中。

注意:我没有帆http文件。我需要吗?当我使用sails new <app name>创建应用程序时未创建该文件。

SSL证书文件路径:assets/wwwoldhealthgovil.crt

位于config/ssl.js的SSL配置文件(已正确读取,能够在控制器中console.log对其进行加密):

const path = require('path');
const fs = require('fs');

module.exports.ssl = {
    ca: fs.readFileSync(path.resolve(__dirname, '../assets/wwwoldhealthgovil.crt')).toString()
}

控制器InactiveDoctorsController


const request = require('request');

module.exports = {

  getInactiveDoctors: function(req, res) {

    var options = {
      method: 'GET',
      url: 'https://www.old.health.gov.il/oskimbbriut/rufim/DoctorSearchNew.asp',
      qs: {
        p: '1'
      },
      headers: {
        "Remote-Address": "147.237.72.200:443",
        "Referrer-Policy": "no-referrer-when-downgrade",
        "Host": "www.old.health.gov.il",
        "Connection": "keep-alive",
        "Cache-Control": "max-age=0",
        "Upgrade-Insecure-Requests": "1",
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36",
        "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
        "Accept-Encoding": "gzip, deflate, br",
        "Accept-Language": "en-US,en;q=0.9,fi;q=0.8,sv;q=0.7,he;q=0.6,el;q=0.5",
        "Cookie": "wcag-cookie-temp-www.old.health.gov.il=true; ASPSESSIONIDACBTQQTR=NMGEOCKABNLNMJBPKLMKKADD; ASPSESSIONIDACDRQQSR=MIGKLOGBIIGHAGGICMICLJKP; ASPSESSIONIDCADDTSAB=GBNOMJIBBKGDNMKEJBCGCFPH",
      },

      agentOptions: {
        ca: sails.config.ssl.ca,
      }

    };

    request(options, function (error, response, body) {
      if (error) throw new Error(error);

      console.log(body);

    });
  },

};

缺少什么/我在做什么错?

0 个答案:

没有答案