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