节点/电子应用程序已部署在最终用户的计算机上。它尝试向服务器发出HTTPS请求。根据用户的网络设置,这可能会正常工作,或者Node可能会引发错误"Unable to Get Local Issuer Certificate"
。据我了解,当客户端位于具有SSL拦截或类似功能的代理后面时,就会发生这种情况。
我知道SO和github充满了这样的问题。但是我能找到的唯一通用“解决方案”是在流程级别完全打破SSL:
process.env["NODE_TLS_REJECT_UNAUTHORIZED"] = 0
或处于请求级别:
rejectUnauthorized: "false"
还有一个选项可以在发出HTTP请求时以某种方式指定正确的证书。但这似乎几乎需要为每个用户进行自定义设置,而且我还没有找到以通用方式进行此设置的任何示例。
1。为什么此问题特定于Node应用程序,而计算机上的所有其他应用程序都能正常运行?
2。可以通过通用且跨平台的方式对其进行修复吗?