其实就是js通过new WebSocket建立WebSocket连接,但当你的连接协议是wss://的时候,就涉及证书的问题。这就比如HTTP请求和HTTPS请求一样,几乎所有建立HTTPS请求的时候你都有办法设置忽略证书错误,比如golang中的tls.Config{InsecureSkipVerify: true},但是使用js建立wss连接时却没有找到任何可以忽略证书错误的办法,我在网上找了很多办法都不行。
最后终于找到一个办法,但是似乎只能在electron中生效,相当于一个曲线救国的思维,即捕获应用的证书错误进行处理,然后直接return true就可以一劳永逸了。
app.on('certificate-error', (event, webContents, url, error, certificate, callback) => { event.preventDefault(); callback(true); })
当然,这办法在正常的浏览器访问的前端页面中可能无法使用,但是一个思路,我不是专门做前端开发,不知道是不是有类似的办法。