【发布时间】:2020-07-01 21:05:05
【问题描述】:
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';
获得正确签名的证书是我唯一的选择吗?
【问题讨论】:
标签: ssl browser socket.io self-signed-certificate