如何忽略节点请求中的SSL证书验证?

Dmi*_*lov 0 node.js axios node-fetch

我需要https使用node.js 对某些请求禁用对等SSL验证node-fetch,据我所知,现在我使用的包没有该选项。

那应该是CURL的 CURLOPT_SSL_VERIFYPEER => false, CURLOPT_SSL_VERIFYHOST => false

是否有任何联网软件包都允许这样做?有没有一种方法可以跳过axios中的SSL验证?

iLu*_*gix 5

到目前为止,Axios并未解决这种情况-您可以尝试:

process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';
Run Code Online (Sandbox Code Playgroud)

但那是一个非常糟糕的想法,因为它会禁用整个节点服务器上的SSL。

或者可以配置Axios公司使用自定义代理并设置rejectUnauthorized到false该代理人提到这里

例:

// At instance level
const instance = axios.create({
  httpsAgent: new https.Agent({  
    rejectUnauthorized: false
  })
});

instance.get('https://something.com/foo');

// At request level
 const agent = new https.Agent({  
 rejectUnauthorized: false
});

axios.get('https://something.com/foo', { httpsAgent: agent });
Run Code Online (Sandbox Code Playgroud)

  • 跳到这里真的很晚了,但我尝试在请求级别添加 httpsAgent,但它似乎根本不起作用。 (4认同)
  • 如果使用标准节点表达,请使用 const https = require('https'); (2认同)