Electron.js对接Openvidu出现WebSocket证书无效错误该如何解决?
错误原因
net::ERR_CERT_AUTHORITY_INVALID报错是因为本地部署的Openvidu服务默认使用自签名SSL证书,Electron内置的Chromium内核默认拒绝信任未经过权威CA机构签发的证书,导致wss协议的WebSocket连接被拦截。
修复方案
开发环境(仅本地测试使用,禁止用于生产部署)
- 方案1:全局忽略证书校验
在Electron主进程的app.on('ready')回调中添加配置:
// 仅本地开发临时使用 app.commandLine.appendSwitch('ignore-certificate-errors', 'true');
该配置会让Chromium跳过所有证书合法性校验,适配本地自签名证书场景。
- 方案2:单独信任Openvidu自签名证书
如果不需要全局忽略证书,可单独配置放行本地Openvidu服务的证书:
- 通过浏览器访问
https://localhost:4443,点击地址栏的不安全提示导出Openvidu的自签名证书文件 - 在Electron主进程添加证书错误事件监听:
app.on('certificate-error', (event, webContents, url, error, certificate, callback) => { // 仅放行本地Openvidu服务的请求 if (url.includes('://localhost:4443/')) { event.preventDefault() callback(true) return } callback(false) })
生产环境
给Openvidu部署的服务器申请权威CA签发的可信SSL证书,替换服务自带的自签名证书即可,客户端无需额外配置即可正常建立wss连接。
内容的提问来源于stack exchange,提问作者fsk
相关产品推荐
相关产品推荐

