我已尝试在博客和stackoverflow中发布的所有可想到的haproxy配置,但我仍然无法让haproxy和socket.io在100%的时间内工作。在大多数“支持”网络套接字的浏览器中,它都会失败并在错过心跳后再次进行长时间的轮询。浏览器似乎进行初始连接(nodejs调试),但我无法让客户端接收连接响应。还有其他人有类似的问题吗?以下是软件版本号和我尝试过的几个配置。
Haproxy配置(我尝试过更多和更多选项):
支持的Web套接字:
答案 0 :(得分:-2)
Websockets无法进行反向代理,因为客户端必须在标头未在Content-Length标头中公布后必须发送的8字节数据,因此中间人在握手完成之前不会转发该数据。由于握手需要完成这8个字节,因此握手永远不会完成并且死锁,http://www.enotes.com/topic/WebSockets#Proxy_traversal。这不是唯一的来源。更多来源验证他们不能反向代理。