我们在工作中遇到了一个奇怪的问题,我希望这里有人可以就如何排除故障给我一些想法.
问题是我不能从我的Kubuntu 13.10工作站进行websocket连接.我试过Chrome和Firefox.我支持代理,首先我认为这一定是原因.但是,我让一些同事试图连接到相同的websocket echo演示,除了一个之外,所有人都可以.他是唯一一个运行Ubuntu的人(和我一样),其他人在Mac,Windows上,甚至还有一个在RedHat上!他们一切都很好.
好的,现在真的很奇怪.我在我的工作站上创建并运行了一个虚拟机(无法连接的虚拟机). VM是一个Lubuntu 13.10,你知道吗,这个darn的东西建立了一个websocket连接就好了!
呃……那个人很傻.
原文链接:/ubuntu/347402.html事实证明,在Linux中,您可以选中网络代理设置(系统设置)中的复选框,该复选框将对所有协议使用相同的代理.
是的……不要那样做!
除非,即您的代理服务器支持SOCKS以及HTTP / HTTPS / FTP(极不可能).
事实证明,如果您选中该复选框,您的代理服务器将被注册为SOCKS代理,并且出于某种原因,Chrome和Firefox中的websocket连接都希望使用它.所以你的HTTP代理最终会得到一堆奇怪的SOCKS握手,它不理解任何websocket连接都会失败.
这是在Ubuntu和Kubuntu上测试的,两者都存在“问题”.
TL; DR;除非您的代理服务器支持SOCKS协议,否则请不要选中“将此代理服务器用于所有协议”复选框.相反,手动为不同的协议(http,https和ftp)填写相同的服务器,但将socks协议留空(或指向实际的socks代理服务器).