我的所有websocket连接都通过http(s)端口到达,并被代理到后端WS服务器:
[client]----[cloudflare]----[Apache 2.4 mod_proxy_wstunnel]----[websocket server]
一旦客户端连接到我的WS服务器,如果没有数据通过套接字,连接总是在100秒之后被切断。
在dev环境中,同一个客户端(同时使用mod_proxy_wstunnel
)和相同的WS服务器,不会出现此限制。
如果WS服务器每60秒发送一次ping,则连接不会被切断。
我想知道是否有人看过关于Cloudflare断开安静WS连接的文档,以及服务器上安装的mod_proxy
是否是原因。我不知道怎么找出真相。
发布于 2016-12-08 04:48:49
一项支持技术通过电子邮件向我证实,Cloudflare自动断开了保持休眠100秒钟的websocket连接。
发布于 2019-01-08 15:34:59
Cloudflare有100秒的超时时间。只有Cloudflare的企业用户可以更改此设置。
因此,解决办法是让一些人保持活力,重新打开连接。或者,一个更好的解决方案是根本不使用CloudFlare。它将给您提供更多的灵活性,您将不必依赖外部第三方。
发布于 2020-06-07 05:51:40
我也面临着同样的问题。我将“代理”模式改为DNS,并从GoDaddy购买了自己的证书。之后就没有面对这个问题了。这里有详细的讨论:https://techxperiment.blogspot.com/2020/06/aws-ec2-tomcat-jsr-356-secure.html
https://stackoverflow.com/questions/39668410
复制相似问题