我如何通过ssl,https Node.js连接?

时间:2016-04-13 02:30:35

标签: javascript node.js ssl wso2 sails.js

请问,我如何通过ssl,https Node.js连接?这是我的代码:

var Client = require('node-rest-client').Client;
client = new Client();
var headers = {
      //"Accept": "application/json",
      "Authorization": "Bearer "+sails.config.myGlobalVariables.access_token,
    };
    var args = {
      headers: headers,
    };

    process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
    client.get("https://localhost:9443/oauth2/userinfo?schema=openid", args, function(data,response) {
      // parsed response body as js object
      //console.log(data.clienteCollection.cliente); //Prueba de listado de clientes recorrer JSON
      // raw response
      //console.log(response);
      //console.log(data.name);
      //req.session.nombreCompleto = data.name;
      //console.log(data);

      res.view('index',{
        nombreCompleto: data.name,
      });
    });

我正在使用库node-rest-client和Sails.js。 我不想放置:process.env.NODE_TLS_REJECT_UNAUTHORIZED =“0”; 谢谢你的帮助。

1 个答案:

答案 0 :(得分:2)

node-rest-clientnodejs https.request文档之后,您可以在创建新客户端时在选项哈希中以PEM格式传递CA.因此,您必须使用链式证书。否则,您可以使用由众所周知的" root"由node.js。

信任的CA
extern "C"

this issue中所述,node.js不使用操作系统信任库,而是使用静态编译的,手动更新的,硬编码的证书颁发机构列表。