小编ast*_*sov的帖子

在电子应用程序中处理“无法获取本地发行人证书”的正确方法

节点/电子应用程序部署在最终用户的机器上。它尝试向服务器发出 HTTPS 请求。根据用户的网络设置,这可能会正常工作,或者 Node 可能会抛出错误"Unable to Get Local Issuer Certificate"。据我了解,当客户端位于具有 SSL 拦截或类似功能的代理后面时,就会发生这种情况。

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

process.env["NODE_TLS_REJECT_UNAUTHORIZED"] = 0
Run Code Online (Sandbox Code Playgroud)

或在请求级别:

rejectUnauthorized: "false"
Run Code Online (Sandbox Code Playgroud)

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

1. 为什么这个问题特定于 Node 应用程序,而计算机上的所有其他应用程序都可以正常工作?

2. 能不能通用跨平台修复?

ssl ssl-certificate node.js electron

5
推荐指数
1
解决办法
1389
查看次数

标签 统计

electron ×1

node.js ×1

ssl ×1

ssl-certificate ×1