当使用aiohttp.web的websockets,并使用Cloudflare的代理时,websocket连接在2~分钟后就死掉了1006。

问题描述 投票:0回答:1

正如标题中提到的...

再详细介绍一下我的使用方法。

我使用Caddy作为aiohttp的反向代理。然后在Caddy的前面加上Cloudflare.这与Caddy无关,因为使用灰云的DNS条目(没有Cloudfare的代理),所以工作正常。

但是每当流量经过Cloudflare的时候,websocket连接就在2分钟后以1006的关闭代码死亡。关闭帧没有附加其他消息。

我可以用aiohttp文档中的websocket代码示例片段重现它。(https:/docs.aiohttp.orgenstableweb_quickstart.html#websockets。)

python cloudflare aiohttp
1个回答
1
投票

StackOverflow用户Tarek同学你好。请允许我成为第一个欢迎你来到这个平台的人!

虽然它的记录不多,但一些消息来源表明,如果一个WS会话闲置超过100秒,Cloudflare会断开连接,除非你是企业客户--在这种情况下,你可以在Cloudflare控制面板中更改超时持续时间。

如果您不是企业客户,您需要发送某种形式的keep-alive,以保持套接字的开放。

希望能帮到你

© www.soinside.com 2019 - 2024. All rights reserved.