Node.js 正确的处理方法;无法获取本地颁发者证书“;在电子应用程序中

Node.js 正确的处理方法;无法获取本地颁发者证书“;在电子应用程序中,node.js,ssl,ssl-certificate,electron,Node.js,Ssl,Ssl Certificate,Electron,节点/电子应用程序部署在最终用户的机器上。它尝试向服务器发出HTTPS请求。根据用户的网络设置,这可能工作正常,或者节点可能抛出错误“无法获取本地颁发者证书”。据我所知,当客户端位于具有SSL拦截或类似功能的代理之后时,就会发生这种情况 我知道,github和github充满了这样的问题。但我能找到的唯一通用“解决方案”是在流程级别完全破坏SSL: process.env["NODE_TLS_REJECT_UNAUTHORIZED"] = 0 或在请求级别: rejectUnauthorize

节点/电子应用程序部署在最终用户的机器上。它尝试向服务器发出HTTPS请求。根据用户的网络设置,这可能工作正常,或者节点可能抛出错误
“无法获取本地颁发者证书”
。据我所知,当客户端位于具有SSL拦截或类似功能的代理之后时,就会发生这种情况

我知道,github和github充满了这样的问题。但我能找到的唯一通用“解决方案”是在流程级别完全破坏SSL:

process.env["NODE_TLS_REJECT_UNAUTHORIZED"] = 0
或在请求级别:

rejectUnauthorized: "false"
在发出HTTP请求时,还可以选择以某种方式指定正确的证书。但它似乎几乎需要为每个用户定制设置,我还没有找到任何以通用方式进行设置的示例

1。为什么这个问题只针对节点应用程序,而计算机上的其他应用程序都可以正常工作?


2。能否以通用和跨平台的方式修复此问题?

您可以尝试通过https连接到服务器,在https中,服务器应该在nginx/apache/nodejs中配置ssl证书。此外,客户端在向服务器发出请求时应提供适当的证书。此问题不取决于服务器。只有当客户端位于拦截代理之后时,才会发生这种情况。这是我所见过的对这个问题的最好描述,也是关于“解决方案”的问题。我将尝试“证书固定”。但是,我不认为这是客户机的问题,因为其他HTTPS调用工作正常@VikashSingh我不明白客户端如何向服务器提供证书。@astreltsov Mine是同一子网上的服务器对服务器应用程序,没有代理。