浏览器代理导致WebSocket无法建立

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/dongyuxu342719/article/details/85051349

今天遇到一个问题记录一下。

用户反应进入相应群组后无法查看聊天记录。从用户截图看用户已经登录系统,且可以看到未读消息计数、处理的工单等信息。

1、从这里可以看出,用户访问web服务器没有问题,请求可以被后台处理;

因为未读消息计数、群组列表是通过长轮询实现,工单处理信息通过ajax获取。而聊天记录是通过WebSocket获取的。

2、因此,可以判断是浏览器无法和服务器建立WebSocket连接问题导致的;

3、从用户那里拿到登录账号,登录到系统后查看聊天记录也是正常的。说明是用户浏览器出了问题;

4、让用户清空缓存重新登录测试,结果失败;

5、询问用户最近浏览器是否做过设置;

6、用户告知,本身使用的是10网段,由于要访问外部系统,配置了一个132网段地址的代理,因此可以推测应该是代理导致的socket建立失败。

这里有个疑问是,这个132地址的代理应该是访问内网机器的代理,如果导致WebSocket建立失败,为什么ajax请求还可以成功。是不是http请求和WebSocket请求的区别导致,毕竟WebSocket请求虽然基于http协议但是又不同于http协议。

猜你喜欢

转载自blog.csdn.net/dongyuxu342719/article/details/85051349