HTTP上的WSS与HTTPS上的WSS

时间:2014-11-06 23:05:11

标签: security http https websocket

我已经读过WS只适用于HTTP,而且WSS适用于HTTP和HTTPS。 WSS(安全Web套接字)连接在HTTP服务器上是否与在HTTPS服务器上一样安全?如果网站/服务器不是,则仍然通过TLS / SSL加密Web套接字安全(WSS)连接吗?

3 个答案:

答案 0 :(得分:69)

“wss适用于http和https” ???这是一个奇怪的短语。

wss只是因为它意味着“ https 上的WebSocket协议”才是安全的。 WebSocket协议本身并不安全。没有Secure WebSocket协议,但只有“基于http的WebSocket协议”和“基于https的WebSocket协议”。另请参阅this answer

作为 nv-websocket-client (用于Java的WebSocket客户端库)的作者,如果打开安全WebSocket连接的HTML / JavaScript过来,我也怀疑“这个短语-secure HTTP,WebSocket连接仍然是安全的“在oberstet的答案中。

阅读RFC 6455(WebSocket协议)以获得正确答案。要成为真正的工程师,请不要避免阅读RFC。只搜索技术博客和StackOverflow的答案永远不会把你带到正确的地方。

答案 1 :(得分:33)

  

如果网站/服务器不是通过TLS / SSL加密的网络套接字安全(wss)连接?

  

wss(安全Web套接字)连接在http服务器上是否与在https服务器上一样安全?

是(见上文)。有一点需要注意:如果打开安全WebSocket连接的HTML / JavaScript来自非安全HTTP,则WebSocket连接仍然是安全的,但攻击者可能会在从Web服务器发送到浏览器时修改HTML / JavaScript 。 HTTP连接不受中间人嗅探或修改的保护。

答案 2 :(得分:0)

如果未部署HTTPS,请尝试在不带https的纯HTTP上使用sws-安全websocket

https://github.com/InstantWebP2P/sws