Squid 提示体积过大:是响应头还是正文?
当前向代理以体积过大为由拒绝一次传输时,请区分请求与响应头限制和正文限制。
很小的下载也可能超出头部限制,而更大的正文反而能成功。先确定 Squid 拒绝的是交换中的哪一部分。
| 组成部分 | 对应的 Squid 5–7 指令 |
|---|---|
| 客户端请求头,包括请求行 | request_header_max_size |
| 客户端请求正文,例如上传数据 | request_body_max_size |
| 服务器响应头 | reply_header_max_size |
| 服务器响应正文 | reply_body_max_size |
借助实际的代理错误和日志来判断是哪个组成部分以及响应的发出方。应用层限制或上游拒绝可能看起来像本地 Squid 故障。请查阅已安装版本的参考资料,确认对应的阈值和默认值。
还要确定 Squid 能看到什么。普通 CONNECT 不会暴露端到端 TLS 隧道内已加密的网站头部。因此明文代理请求、CONNECT 交换本身以及被拦截的 TLS 可能涉及不同的控制手段或组成部分。
在调高相关限制之前,先解释异常的体积。重复的 Cookie、意外的身份验证数据和格式错误的响应都需要排查;而有意支持的大文件上传则需要合适的正文阈值。把所有限制一起调高会掩盖这一区别。