使用带有让我们加密的 node.js 请求“无法验证第一个证书”错误

The*_*ive 6 encryption ssl node.js lets-encrypt

我正在使用 node-slack 将 Mattermost 传入 URL Api 用于自托管的mattermost。这最重要的是通过让加密来保护的。

我的节点代码正在使用 slack api,并且我已经使用 Postman(手动发布工具)针对 MM 服务器测试了发送数据。

在这两种情况下,它都在工作。

但是使用节点我收到一个 unable to verify the first certificate错误。

在“ https://nodejs.org/api/https.html ”中,我可以看到,node.js 支持一组“众所周知的”根 CA。

为了简化问题,我写了这个小小的和平代码:

let request = require('request');

request("https:--letsencryptsecuredsite",function(err,body){
  console.log(err);
  console.log(body);
});
Run Code Online (Sandbox Code Playgroud)

这导致

{ Error: unable to verify the first certificate
    at Error (native)
    at TLSSocket.<anonymous> (_tls_wrap.js:1079:38)
    at emitNone (events.js:86:13)
    at TLSSocket.emit (events.js:185:7)
    at TLSSocket._finishInit (_tls_wrap.js:603:8)
    at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:433:38) code: 'UNABLE_TO_VERIFY_LEAF_SIGNATURE' }
Run Code Online (Sandbox Code Playgroud)

我必须在让加密安全的服务器上使用 API 吗?

我正在使用节点版本 6.9.2。