Webkit中使用Socket.io 0.7时Websocket握手失败

3

我已将我的node.js应用程序升级以与最新的socket.io模块配合使用。然而,现在只有Firefox可以连接,Chrome和Safari会出现以下错误:WebSocket握手期间发生错误:'Connection'头部值不是'Upgrade'


1
哪些版本的Chrome / Safari。还可以尝试在#socket.io中投诉。 - Raynos
Google Chrome 12.0.742.112 / Safari 5.0.5 (6533.21.1) - Tim
我也遇到了这个问题,在dotcloud上使用node 0.4.5和socket.io 0.7.6。 - user832395
临时解决方案是禁用本地WebSockets并改用xhr-polling。我在#socket.io中询问过,似乎没有人知道出了什么问题,这不是一个常见的问题。即使是使用hello world示例应用程序,我也会遇到这个问题。 - Tim
我在Heroku上遇到了同样的问题,但是他们使用Nginx并且声称只支持HTTP 1.0(http://devcenter.heroku.com/articles/http-routing)。 - Olivier Amblet
3个回答

3

2
Nginx的开发版本支持HTTP 1.1,这是另一个选择。 :) - mikong

1

没错,这完全是nginx的问题 - 我之前一切都正常运行,改了一些不重要的东西后就无法工作了。只有在阅读这篇文章后,我才意识到我停止在URL中输入端口号,因此被nginx代理。加上端口号后,立即就可以工作了。


0

检查您的Nginx版本。v1.4似乎运行良好,而我在v1.2上遇到了问题(不得不升级)。


如果在Ubuntu上升级到1.4版本,您需要的资源是:http://www.slashgeek.net/2013/05/08/how-to-get-the-latest-nginx-on-ubuntu-12-04-2-lts-precise-pangolin/。 - Pete Romano

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接