让我试着解释一下你可能遇到的不同成功率.虽然HTML5 Web Socket协议本身并不知道代理服务器和防火墙,但它具有HTTP兼容的握手功能,因此HTTP服务器可以与Web套接字网关或服务器共享其默认的HTTP和HTTPS端口(80和443).
Web Socket协议定义了一个ws://和wss://前缀,分别表示WebSocket和WebSocket Secure连接.两种方案都使用HTTP升级机制来升级到Web Socket协议.一些代理服务器是无害的,并且可以正常使用Web套接字; 其他会阻止Web套接字正常工作,导致连接失败.在某些情况下,可能需要额外的代理服务器配置,并且可能需要升级某些代理服务器以支持Web套接字.
如果未加密的WebSocket流量通过显式或透明的代理服务器流向WebSocket服务器,那么,无论代理服务器是否表现如此,该连接几乎肯定会在今天失败(将来,代理服务器可能会成为Web Socket意识到的).因此,未加密的WebSocket连接应仅在最简单的拓扑中使用.
如果使用加密的WebSocket连接,然后在网络套接字安全连接使用传输层安全(TLS)确保了HTTP CONNECT命令发出时,浏览器配置为使用显式的代理服务器.这将建立一个隧道,通过HTTP代理在Web Sockets Secure客户端和WebSocket服务器之间提供低级端到端TCP通信.在透明代理服务器的情况下,浏览器不知道代理服务器,因此不发送HTTP CONNECT.但是,由于线路流量是加密的,因此中间透明代理服务器可能只允许加密流量通过,因此如果使用Web套接字安全,则WebSocket连接成功的可能性要大得多.当然,使用加密并不是免费的,但通常提供最高的成功率.
实现这一目标的一种方法是下载并安装Kaazing WebSocket Gateway - 一个高度优化的代理感知WebSocket网关,它提供原生WebSocket支持以及旧浏览器标准的完整仿真.
让我试着解释一下你可能遇到的不同成功率.虽然HTML5 Web Socket协议本身并不知道代理服务器和防火墙,但它具有HTTP兼容的握手功能,因此HTTP服务器可以与Web套接字网关或服务器共享其默认的HTTP和HTTPS端口(80和443).
Web Socket协议定义了一个ws://和wss://前缀,分别表示WebSocket和WebSocket Secure连接.两种方案都使用HTTP升级机制来升级到Web Socket协议.一些代理服务器是无害的,并且可以正常使用Web套接字; 其他会阻止Web套接字正常工作,导致连接失败.在某些情况下,可能需要额外的代理服务器配置,并且可能需要升级某些代理服务器以支持Web套接字.
如果未加密的WebSocket流量通过显式或透明的代理服务器流向WebSocket服务器,那么,无论代理服务器是否表现如此,该连接几乎肯定会在今天失败(将来,代理服务器可能会成为Web Socket意识到的).因此,未加密的WebSocket连接应仅在最简单的拓扑中使用.
如果使用加密的WebSocket连接,然后在网络套接字安全连接使用传输层安全(TLS)确保了HTTP CONNECT命令发出时,浏览器配置为使用显式的代理服务器.这将建立一个隧道,通过HTTP代理在Web Sockets Secure客户端和WebSocket服务器之间提供低级端到端TCP通信.在透明代理服务器的情况下,浏览器不知道代理服务器,因此不发送HTTP CONNECT.但是,由于线路流量是加密的,因此中间透明代理服务器可能只允许加密流量通过,因此如果使用Web套接字安全,则WebSocket连接成功的可能性要大得多.当然,使用加密并不是免费的,但通常提供最高的成功率.
实现这一目标的一种方法是下载并安装Kaazing WebSocket Gateway - 一个高度优化的代理感知WebSocket网关,它提供原生WebSocket支持以及旧浏览器标准的完整仿真.