我是Websockets的新手,我有以下设置(下面)。我试图确定的是,从Apache发回到浏览器的通信是否真正安全。当连接到未加密的后端时,mod_proxy_wstunnel是否会加密数据?
我开始通过wss://(端口443)从浏览器到Apache的WebSocket连接。通过mod_proxy_wstunnel,我通过端口8080上的非安全ws://连接来连接到Ratchet。
当Ratchet通过非安全端口8080发回数据帧时,mod_proxy_wstunnel会加密数据,以便Apache发送它回到浏览器加密?
|---------| 443 |--------------| |--------------------| 8080 |---------|
| Browser | <---> | Apache httpd | <-> | mod_proxy_wstunnel | <----> | Ratchet |
|---------| |--------------| |--------------------| |---------|
我知道初始连接是通过端口443上的HTTPS完成的,并通过WebSocket握手来切换协议。但根据协议切换后的https://www.websocket.org/aboutwebsocket.html,“HTTP连接中断,并通过相同的底层TCP/IP连接上的WebSocket连接替代。WebSocket连接使用与HTTP(80)和HTTPS(443)相同的端口,默认。”
仅仅因为它在同一端口上进行通信,并不一定意味着它仍然是真正加密的,特别是当HTTP连接“中断”时。在这种情况下,在我看来,mod_proxy_wstunnel只是简单地转发来自Ratchet的数据,因此数据在端口443上被传递为未加密,给人一种错误的安全感。