如何从安全的网站访问不安全的websocket?

时间:2017-08-08 15:31:40

标签: security encryption websocket

TL; DR:网站通过HTTPS提供,需要通过未加密的频道(ws:// url)访问WebSockets服务器。浏览器不喜欢这个。

加密websocket是可能的,但不方便 - 没有可信任的权限可以签署证书,因此需要为每个客户端手动安装它。我想把它作为最后的手段。

网站必须通过HTTPS提供,不能降级为HTTP。

还有其他方法可以绕过这个限制吗?我尝试了Content-Security-Policy,但它没有用。

1 个答案:

答案 0 :(得分:3)

Vix指数,

您正在描述的方案是在打开非安全Websocket连接的限制到位时被视为安全问题的方案之一。

访问安全网站(HTTPS)的用户假定所有数据都是安全的。浏览器不允许在此上下文中进行非安全通信(除非它有安全性错误)。这应该包括资产请求和在安全上下文中调用的任何其他请求(期望"混合内容"消息慢慢淡入历史,因为限制收紧)。

在某些浏览器上甚至更糟。例如,即使网页已加载临时批准证书,Safari也将拒绝打开与未签名服务器的安全Websocket连接。

  

有没有其他方法可以绕过这个限制?

我很抱歉地报告您的问题的简短回答是"否"。