Javascript NodeJS不断抛出“无法验证叶子签名”不管发生什么

Javascript NodeJS不断抛出“无法验证叶子签名”不管发生什么,javascript,node.js,typescript,ssl,websocket,Javascript,Node.js,Typescript,Ssl,Websocket,我有一个基本的nodeJS应用程序,它通过安全的websocket(ws-library)连接连接到服务器。连接时,服务器不断抛出无法\u验证\u叶子\u签名错误。我无法控制服务器,它是外部的。端点以wss://开头(不确定是否有区别) 我试过很多东西,但似乎都不管用: rejectUnauthorized:false有效,但1006在x时间后连接中断 导出节点\u额外\u CA\u证书=[您的CA证书文件路径]不工作 npm config set cafile[您的CA证书文件路径]不起作用

我有一个基本的nodeJS应用程序,它通过安全的websocket(ws-library)连接连接到服务器。连接时,服务器不断抛出
无法\u验证\u叶子\u签名
错误。我无法控制服务器,它是外部的。端点以wss://开头(不确定是否有区别)

我试过很多东西,但似乎都不管用:

  • rejectUnauthorized:false
    有效,但1006在x时间后连接中断
  • 导出节点\u额外\u CA\u证书=[您的CA证书文件路径]
    不工作
  • npm config set cafile[您的CA证书文件路径]
    不起作用
  • npm模块系统范围CA或节点ssl根CA不工作
  • 在套接字选项中添加
    ca:[fs.readFileSync(“ca.ca-bundle”,{encoding:'utf-8'})]
    无效
但是,当我在浏览器中导航到端点时,连接有效且安全。我尝试从浏览器中提取证书并将其包含在nodeJS中,没有结果,同样的错误。当我使用网站
https://whatsmychaincert.com/
要获取证书

基本代码:

this.websocket = new WebSocket(this.apiUrl, this.applicationId, {
        rejectUnauthorized: true, 
    });

...

this.websocket.on('open', () => {
        console.log('Connection successfully opened');
    });


this.websocket.on('error', error => {
        console.log(error);
    });
不管我做什么,似乎不管包含的证书是什么,NodeJS总是向我抛出
无法验证\u叶子\u签名
错误


有人知道发生了什么吗

经过几天的努力,我终于解决了这个问题

我一直在使用错误的证书链。我要连接到的端点具有
wss://
前缀。但是我是从带有
https://
前缀的url获取证书的。显然,这有一个不同的证书链