1

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

  • haproxy 1.4.18
  • 节点 0.6.5
  • 套接字.io 0.8.7

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

网络套接字工作在:

  • Safari 5 (Windows)
  • 铬 11 (Linux)
4

1 回答 1

-2

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

于 2011-12-29T23:58:24.703 回答