🔗 多余数据
🔗 症状
httpReadReply: 来自“GET <http://example.com>”的多余数据
🔗 解释
HTTP 事务包含指定传输对象大小的标头。当这些标头存在时,Squid 会验证对象是否与预期大小匹配。当收到的对象大于预期大小时,就会记录此消息。
这表明传输在网站和您的 Squid 之间被篡改过。
- 这可能是一次针对您流量的缓存投毒安全攻击。攻击者试图将虚假响应注入您的缓存,并将嵌入的感染传播到网络上的其他客户端。
- 这可能是一个损坏的代理(非您自己的)在重新验证后未能正确更新响应标头。
- 这可能是一个损坏的适配服务在调整对象的新大小时失败。
- 这可能是某个服务在分块响应中发送了长度标头。
Squid 会通过删除损坏的接收副本并将其不会共享给其他客户端来保护自身以及您的其他客户端免受这些可能性。
收到错误响应的特定客户端不幸需要自行处理损坏的响应。Squid 会尝试通过中止连接并发送 RESET 来提供帮助,这表示发生了某些不好的事情。并非所有客户端都能干净地处理这种情况。
🔗 规避方法
此问题没有普遍可用的解决方法。此问题的修复非常具体,取决于您的安装以及上述哪种问题导致了它。
一些选项包括
- 阻止访问问题网站的 ACL
- 绕过代理访问特定站点(如果确实是攻击,则不安全)。
- 追踪导致问题的具体原因并报告该问题。
- 在标记为软件升级的案例中,相关的中间件可能会有帮助。
如果您将其追踪到上述未提及的其他原因,我们希望您能告知我们,以便更新本文档。
类别: 知识库
导航: 站点搜索、站点页面、类别、🔼 向上