You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Cloudflare代理在客户端终止请求时的异常行为及解决咨询

解决Cloudflare代理下用户终止请求未同步终止的问题

Cloudflare端设置

  • 启用HTTP/2 或 HTTP/3:在Cloudflare控制面板的「网络」选项卡中开启这两个协议(优先HTTP/3),它们相比HTTP/1.1能更高效地检测客户端连接断开,快速同步终止信号到源站。
  • 调整请求超时参数:进入「网络」>「超时」设置,把「HTTP 请求超时」设为30-60秒(根据业务场景调整,不要过长),「Web 套接字超时」同步调整到合理范围。客户端终止请求后,Cloudflare会在超时阈值内主动终止向源站的请求。
  • 开启TCP 快速关闭:在「网络」选项卡中找到该功能并启用,它能让Cloudflare更快识别客户端的连接断开动作,减少无效请求持续发送到源站的情况。

Apache端配置

  • 启用mod_reqtimeout模块:这个模块可监控请求传输速率和超时时间,强制终止长时间无响应的请求。在Apache配置文件中添加:
    <IfModule mod_reqtimeout.c>
      # 头信息超时20-40秒,最低传输速率500字节/秒;请求体超时20-60秒,最低传输速率500字节/秒
      RequestReadTimeout header=20-40,MinRate=500 body=20-60,MinRate=500
    </IfModule>
    
  • 调整全局Timeout指令:在Apache主配置或对应虚拟主机配置中设置Timeout 30(数值按需调整),该指令控制Apache处理单个请求的最大时长,超时后自动终止请求,避免资源被长时间占用。
  • 同步后端超时设置:如果网站依赖PHP、Python等后端语言,要设置对应超时参数,比如PHP的max_execution_time = 30,确保后端能响应终止信号,不持续占用资源。

验证方法

用curl模拟中断场景:执行curl https://你的域名/长时间请求接口,按Ctrl+C中断后,查看Apache的server-status(需启用mod_status),确认该请求是否已被终止。

内容的提问来源于stack exchange,提问作者Aproram

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 20:17:19