使用 localhost 证书保护 websocket

Khi*_*sta 3 ssl ssl-certificate websocket

我们为我们的站点使用安全连接 (HTTPS),我们需要客户端与在后台运行的程序(使用 Qt 制作)进行通信,该程序是用户之前安装的。我们打算使用 websockets 来做到这一点,使用公司签署的证书。CA 安装在 Windows 和 Mozilla 数据库中。

由于 websocket 运行在客户端,而 websocket 服务器也运行在客户端的机器上,因此连接是在 localhost 上执行的。另外,因为我们使用HTTPS,所以我们也必须使用WSS。我们选择了 2424 端口。

问题是,Chrome、Firefox 和 IE 认为该连接不受信任,因为它位于 localhost 上(我认为)。如果我在 上打开一个新选项卡https://127.0.0.1:2424,则会出现一条错误消息;浏览器说该证书仅在本地主机上有效,这可能意味着有人可能试图拦截发送到服务器的数据(Firefox 错误代码:)ssl_error_bad_cert_domain

Khi*_*sta 5

问题是证书颁发给localhost,而不是127.0.0.1。使用 IP 连接的 websocket,未包含在证书中,因此将套接字地址从 更改wss://127.0.0.1:2424wss://localhost:2424有效,至少对于 Chrome 和 IE,但在 Firefox 中仍然拒绝连接。