【发布时间】:2016-07-07 09:46:34
【问题描述】:
我需要禁用 WebSocket 的证书验证,因为我使用的是自签名证书。
我在这个问题Websocket SSL connection 中找到了rejectUnauthorized 参数,但这不再起作用。其实如果你去Mozilla's documentation,只有两个参数:URL和协议版本。
在另一个问题或网站(不记得确切)中,我发现如果我先去https://server_ip,我会收到有关无效证书请求的提示,询问我是否要继续。然后我可以使用wss://server_ip 进行连接,它会起作用,而且确实如此,但这不适用于我的情况。
所以,我需要在创建 WebSocket 期间禁用证书验证。我该怎么做?
我用于测试的代码是https://www.websocket.org/echo.html 的代码。我用websocket = new WebSocket(wsUri, {rejectUnauthorized: false});替换了websocket = new WebSocket(wsUri);(在测试过程中,还添加了protocolVersion: 8参数,如链接问题)
编辑:我需要使用自签名证书。 Let's Encrypt 是毫无疑问的,因为它需要一个子域,然后我需要管理成百上千的子域。该应用程序分为三个部分,将部署到每个客户(数百个):
- 管理控制台:使用子域和 LE 证书。
- WebSocket 服务器 1:需要仅使用 IP 的加密连接
- WebSocket 服务器 2:需要仅使用 IP 的加密连接
【问题讨论】:
-
您是指在您的机器上一次性继续您的工作,还是为网站的任何访问者提供一种通用方式?
-
@JamesThorpe 一般方式。客户端会下载一个js,在后台连接一些Python WebSocket服务器
标签: javascript websocket