当前位置:  开发笔记 > 前端 > 正文

html5 websockets会被防火墙瘫痪吗?

如何解决《html5websockets会被防火墙瘫痪吗?》经验,为你挑选了3个好方法。

我对html5的websockets规范感到非常兴奋,但我有一个担忧.

现在每个人都在某个网络上运行,路由器(有线/无线)内置防火墙,windows也有内置防火墙.

考虑到这一点,当服务器尝试连接回启动websocket握手的浏览器时,绝大多数用户都会失败吗?(大多数人不知道如何在他们的路由器上设置端口转发)

或者我的想法是不正确的,它会经历好吗?



1> Mark Renouf..:

我不是专家(所以请检查确认)但我相信会有一个UPGRADE机制,可以建立常规的HTTP连接,然后升级到WebSocket,所以没有现有的防火墙规则干扰,除非他们正在积极的应用程序级别包检查.连接仍由浏览器启动.


执行有状态数据包检查的任何防火墙都将丢弃WebSocket流量.升级后 - 它不再是HTTP了.
@Brian Statefull防火墙仅验证数据包是否与现有的未闭合连接相关联.它跟踪连接的状态(打开,打开,关闭,关闭),因此得名.当它检测到数据包是已经打开的授权连接的一部分时,它可以将所有其他规则检查短路并让数据包通过.您正在考虑的是第7层过滤器.这些不常见,并且比大多数操作系统中默认发现的普通第3层状态防火墙贵得多.
FWIW,我目前无法从客户网络连接到websocket服务器.连接尝试无限期挂起.到目前为止,我发现他们正在使用WatchGuard.com.我被允许在我的websocket主机上访问HTTP但是websocket连接挂起.WG站点列出了错误:"与WebSocket协议(RFC6455)的连接通过HTTP代理和带有内容检查的HTTPS代理失败".状态为"开放".

2> Marcelo Cant..:

HTML 5 WebSockets不需要端口转发.继续从客户端建立连接,但是一旦建立连接,客户端和服务器不对称就会消失.WebSockets还使用HTTPS当前使用的相同CONNECT机制来完成代理.



3> Peter Lubber..:

由于防火墙通常只是强制执行入站流量拒绝和出站流量路由的规则(通常通过代理服务器),因此通常没有特定的WebSocket流量相关的防火墙问题.

代理服务器(在某种程度上,某些负载平衡路由器)也是一个不同的问题(请参阅为什么当前的websocket客户端实现不支持代理?)

推荐阅读
手机用户2402851155
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有