Socket.IO不断在Cloudflare上重新连接Websocket

时间:2017-03-24 22:03:02

标签: node.js express socket.io cloudflare

我在服务器上有一个专用于套接字的Node / Express应用程序,在客户端上有一个Angular 1.5。使用相同的架构在http上本地运行代码,例如单独的套接字服务器它完全正常。

当我在本地运行代码时,它会创建一个连接并通过xhr执行非常少的轮询。在使用https的cloudflare上,它会进行大量轮询,不断重新连接,并且并非所有消息都可以访问Web客户端

消息命中cloudflare,然后将其重定向到运行haproxy的负载均衡器,然后将该请求路由到另一台机器上的docker实例中运行的应用程序。

Websocket connections

2 个答案:

答案 0 :(得分:0)

由于cloudflare的问题只允许流量到一组有限的端口,因此您的问题很可能会发生。尝试使用以下链接中列出的服务器之一,并尝试连接到它。

https://support.cloudflare.com/hc/en-us/articles/200169156-Which-ports-will-Cloudflare-work-with-

答案 1 :(得分:0)

经过大量调查后,我发现问题归咎于haproxy中的配置。我需要改变套接字路由的超时。

这与没有在cloudflare上打开的端口无关。

以下链接对我有所帮助 http://blog.haproxy.com/2012/11/07/websockets-load-balancing-with-haproxy/