Haproxy和socket.IO不能完全工作



我已经尝试了博客和stackoverflow中发布的所有可能的haproxy配置,但我仍然无法获得haproxy和socket。IO工作100%的时间。在大多数"支持"web套接字的浏览器中,它会失败,并在错过心跳后退回到长时间的轮询。浏览器似乎进行了初始连接(nodejs调试),但我无法让客户端接收连接响应。还有其他人有类似的问题吗?以下是我尝试过的软件版本号和几个配置。

  • haproxy 1.4.18
  • 节点0.6.5
  • 插座。io 0.8.7

Haproxy配置(我已经尝试了更多的选项):

  • http://engineering.bistri.com/post/14307969768/socket-io-haproxy-http-authentication
  • HAProxy + WebSocket disconnect
  • http://pastebin.com/H3XNv0TQ
  • http://www.darkcoding.net/software/proxy-socket-io-and-nginx-on-the-same-port-over-ssl/(减去ssl的东西)

Web sockets工作在:

  • Safari 5 (Windows)
  • Chrome 11 (Linux)

Websockets不能被反向代理,因为客户端在报头后必须发送的8字节数据没有在Content-Length报头中发布,所以中间体在握手完成之前不会转发该数据。由于握手需要这8个字节来完成,因此握手永远不会完成并死锁,http://www.enotes.com/topic/WebSockets#Proxy_traversal。这并不是唯一的来源。更多的消息来源证实它们不能被反向代理。

相关内容

  • 没有找到相关文章

最新更新