我正在构建一个主要针对Windows 10的应用程序,该应用程序需要传达一些基于https的REST API。我在公司代理后面,该应用程序将在也可能在公司代理中运行的少数设备(窗口)上运行。但是有时REST API调用失败并显示以下错误-
Error: self-signed certificate in certificate chain
,然后如果我从IE / Edge浏览任何https网站,该错误将消失一段时间。我有时也从firefox看到相同的错误(没有安装chrome,也可能是chrome的问题)。因此,我在主进程文件中尝试了以下代码-
const {app} = require('electron')
app.on('certificate-error', (event, webContents, url, error, certificate, callback) => {
console.log('certificate-error')
event.preventDefault()
callback(true)
})
但是似乎没有被调用。 REST API是使用nodejs“请求承诺”模块-https://www.npmjs.com/package/request-promise调用的。我也尝试过传递'rejectUnauthorized': false
,在这种情况下,请求将重定向到代理url,并且我收到了http状态码307。
当我在搜索此问题时,发现许多开发人员在从命令提示符安装节点模块时遇到了此问题,并通过全局设置全局变量解决了该问题,但是对于应用程序,我认为我们无法在应用程序中执行此操作,因为它可以在开发人员无法控制的未知机器上运行。想知道如何解决此问题,请提供帮助。
谢谢 芭蕉叶