繁体   English   中英

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

[英]How to access an insecure websocket from a secure website?

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

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

该网站必须通过 HTTPS 提供服务,并且不能降级为 HTTP。

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

维克斯,

您所描述的场景是当针对打开非安全 Websocket 连接的限制实施时被认为是安全问题的场景之一。

访问安全网站 (HTTPS) 的用户假定所有数据都是安全的。 浏览器将不允许在此上下文中进行非安全通信(除非它有安全故障)。 这应该包括资产请求和在安全上下文中调用的任何其他请求(随着限制收紧,预计“混合内容”消息会慢慢淡入历史)。

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

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

我很遗憾地报告您的问题的简短回答是“否”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM