技术与生活 / 一篇记录
上传失败,限制可能不在应用里
客户端、代理和应用都可能限制请求大小,错误应定位到具体一层。
请求从客户端到应用可能经过多个代理,每一层都能设置大小限制。返回 413 时应先识别由谁生成响应,再决定修改哪一处配置。
操作与观察
配置片段不是完整配置文件,应放入正确的上下文,并按实际环境调整路径与端口。
client_max_body_size 10m;
用略低和略高于边界的样本分别测试。
用边界附近的样本测试,并保留每层日志时间。允许更大请求还会影响临时磁盘、连接占用和应用处理能力,不能只把限制无限放开。
大文件请求还可能使用临时文件,磁盘位置与可用空间都值得检查。只提高请求体限制而忽略临时目录容量,可能把原来的可控拒绝变成更难排查的写入失败。
别遗漏这条边界
代理放开限制后,应用本身仍可能拒绝请求。
参考:Nginx 文档。