小图片能上传,大附件却超时,问题可能出现在不同环节:边缘拒绝请求体、代理等待上传完成、临时目录写满,或应用处理时间过长。只把某个超时参数调大,可能让错误出现得更晚,却没有解决真正的瓶颈。

画出请求体实际经过的路径
把浏览器或客户端、边缘入口、反向代理、应用以及最终存储逐项列出。对每一跳记录允许的请求大小、是否先读完整个请求、等待条件和失败返回方式。若上传采用分片或直传存储,也要单独画出初始化、分片写入和完成确认接口。
| 位置 | 核对对象 | 主要证据 |
|---|---|---|
| 边缘 | 请求体限制、连接与等待策略 | 入口响应、平台说明与日志 |
| 代理 | 请求缓冲、临时目录与上游发送 | 配置、磁盘和错误记录 |
| 应用 | 接收、校验和业务处理 | 处理阶段、资源占用及结果 |
| 存储 | 写入、提交与失败清理 | 对象状态和未完成任务 |
请求缓冲与响应缓冲不是一个开关
NGINX官方文档说明,开启请求缓冲时会先读取完整请求体,再向上游发送;关闭后可随接收向上游发送,但已发送请求体后,上游重试能力会受到限制。具体行为还受协议与其他设置影响。
这段说明只适用于相应NGINX配置,不表示CDN平台采用相同默认值。排查时先确认自己调整的是客户端上传过程,还是源站向客户端返回内容的过程,避免改错方向。
缓冲可能把慢客户端的压力留在代理一侧,也可能消耗临时存储;流式转发则让上游更早参与请求。选择应基于业务和资源约束,不能把关闭缓冲视为普遍更快。
测试应覆盖大小之外的维度
- 使用无敏感内容的测试文件,分别检查小文件、接近约定上限的文件和超出上限的请求。
- 在约定负载内降低上传速度,记录各跳何时开始接收、何时结束及何时返回错误。
- 主动取消一次测试上传,检查连接与临时文件是否按预期回收。
- 模拟业务允许的重试,确认不会重复创建记录或留下重复计费任务。
- 在多个受控上传并发时,检查临时存储、应用队列和存储提交是否成为瓶颈。
这些是测试设计,不是已测得的容量数据。测试规模应提前约定,不应直接向生产站点持续发送大请求试探极限。
错误信息应帮助用户恢复
超出大小上限时,让客户端显示明确限制;鉴权失效时,给出重新认证流程;上传中断时,按业务能力提示重试或续传。不要把所有失败统一显示为“网络异常”,迫使用户反复点击。
服务端还要区分“文件已经写入但业务确认失败”与“文件根本没有完成”。清理任务应识别仍在进行的合法上传,避免为了释放磁盘误删活动文件。
上线验收留下哪些结果
保存每一跳的限制、失败状态、资源曲线与清理结果。接入SCDN前,把文件大小分布、最长正常上传时间和并发方式交给支持团队核对。文件内容的安全校验属于另一项验收,可与上传隔离和下载边界检查配合完成。
资料核对日期:2026年10月30日。本文由AI辅助整理,技术事实依据文内原始资料核对。示例与操作清单供实施参考;产品配置和软件维护状态以实施时的官方资料为准。
涉及漏洞与安全事件的文章,请结合文中来源、发布时间和厂商最新公告核对。产品配置与防护效果以实际业务验证为准;资料纠错可联系 support@waf.pro。
