Socket.io 客户端 API 文档建议客户端应将连接请求中的自签名证书传递给服务器:
// client-side
const socket = io({ca: fs.readFileSync('server-cert.pem'),rejectUnauthorized: false});
这在节点环境中效果很好。
如何在浏览器 javascript 应用程序中进行这项工作?我面临两个问题:
- 如何在浏览器应用程序中包含证书文件?readfileSync 找不到文件
- 如果我只在选项中包含rejectUnauthorized:false,它适用于节点,但在浏览器(Firefox,Chrome)中仍然不起作用
我已经尝试了一切,如下所示,但没有任何效果
https.globalAgent.options.rejectUnauthorized = false;
process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';
我是获得正确签名证书的唯一选择吗?