Socket.IO 不断重新连接 Cloudflare 上的 Websocket
Socket.IO keeps reconnecting Websocket on Cloudflare
我在服务器上有一个专用于套接字的 Node/Express 应用程序,在客户端上它是 Angular 1.5。 运行 使用相同架构的 http 本地代码,例如单独的套接字服务器一切正常。
当我 运行 本地代码时,它会创建一个连接并通过 xhr 进行很少的轮询。在带有 https 的 cloudflare 上,它会进行大量轮询,不断重新连接,但并非所有消息似乎都到达了网络客户端
消息命中 cloudflare,然后将它们重定向到负载均衡器 运行ning haproxy,然后将请求路由到另一台机器上 docker 实例中的应用程序 运行ning。
您的问题很可能是由于 cloudflare 仅允许流量流向一组有限的端口而导致的。为您的服务器尝试以下 link 中列出的端口之一,然后尝试连接到它。
https://support.cloudflare.com/hc/en-us/articles/200169156-Which-ports-will-Cloudflare-work-with-
经过大量调查,我发现问题出在 haproxy 的配置上。我需要改变套接字路由的超时时间。
这与 cloudflare 上未打开的端口无关。
以下link对我有帮助
http://blog.haproxy.com/2012/11/07/websockets-load-balancing-with-haproxy/
我在服务器上有一个专用于套接字的 Node/Express 应用程序,在客户端上它是 Angular 1.5。 运行 使用相同架构的 http 本地代码,例如单独的套接字服务器一切正常。
当我 运行 本地代码时,它会创建一个连接并通过 xhr 进行很少的轮询。在带有 https 的 cloudflare 上,它会进行大量轮询,不断重新连接,但并非所有消息似乎都到达了网络客户端
消息命中 cloudflare,然后将它们重定向到负载均衡器 运行ning haproxy,然后将请求路由到另一台机器上 docker 实例中的应用程序 运行ning。
您的问题很可能是由于 cloudflare 仅允许流量流向一组有限的端口而导致的。为您的服务器尝试以下 link 中列出的端口之一,然后尝试连接到它。
https://support.cloudflare.com/hc/en-us/articles/200169156-Which-ports-will-Cloudflare-work-with-
经过大量调查,我发现问题出在 haproxy 的配置上。我需要改变套接字路由的超时时间。
这与 cloudflare 上未打开的端口无关。
以下link对我有帮助 http://blog.haproxy.com/2012/11/07/websockets-load-balancing-with-haproxy/