Javascript HTML5 WebSocket和代理配置
我使用的是Debian7和谷歌浏览器Chrome(35)。 当我试图通过回音测试时 控制台中有一个错误:Javascript HTML5 WebSocket和代理配置,javascript,html,google-chrome,proxy,websocket,Javascript,Html,Google Chrome,Proxy,Websocket,我使用的是Debian7和谷歌浏览器Chrome(35)。 当我试图通过回音测试时 控制台中有一个错误: WebSocket connection to 'ws://echo.websocket.org/?encoding=text' failed: Failed to send WebSocket frame. 我的电脑在Squid 3代理的后面,但同一代理后面的其他用户可以通过上的回显测试(Squid配置对于每个用户都是相同的) 如何调试此问题 我已经关闭了所有反向代理服务器(nginx
WebSocket connection to 'ws://echo.websocket.org/?encoding=text' failed: Failed to send WebSocket frame.
我的电脑在Squid 3代理的后面,但同一代理后面的其他用户可以通过上的回显测试(Squid配置对于每个用户都是相同的)
如何调试此问题
我已经关闭了所有反向代理服务器(nginx、apache)
如果我在Google chrome控制台中编写以下代码:
socket = new WebSocket("ws://echo.websocket.org/");
然后我在网络页面(谷歌chrome开发工具)中看不到任何帧(没有手工破解阶段)
更新:
有趣的是,websockets连接在最新版本的Iceweasel浏览器(Firefox)上对我有效,但在Google Chrome或Chrome上不起作用
我使用以下命令启动Google Chrome:
/usr/bin/google-chrome-stable %U --proxy-server="http://172.16.20.12:4554"
还可以做些什么?
非常感谢。握手不是帧,只是简单的HTTP。如果您启动了Websocket连接,服务器返回HTTP 101交换协议响应,即握手
您是否尝试过使用WSS://而不是WS:// 谢谢你的回复。是的,wss的情况也一样。有趣的是,websockets连接在最新版本的Iceweasel浏览器(Firefox)上对我有效,但在Google Chrome或Chromium上不起作用。这很奇怪,因为该服务器没有实现任何扩展,所以应该是相同的。如果你找到了,请发布解决方案,这很有趣:)我也有同样的问题。我相当肯定这是Chrome中的一个bug。不过,您应该检查的一件事是,在代理设置中,您没有选中“将此代理用于所有协议”复选框。这会将您的HTTP代理注册为SOCKS代理,websockets将尝试使用该代理,但失败。几个月前这是我的问题,但我修复了它,让websocket在chrome中工作了一段时间,但几周前它停止了工作。正如我所说,Chrome on*NIX中可能存在回归错误(这在windows上有效)。