我们是 Squid 的新手并尝试设置此配置,但不确定是否可行:
- 传入的压缩 HTTP
- 解压转发到ICAP服务
- 如果 ICAP 服务返回 4xx,则记录并丢弃
- 如果 ICAP 返回 2xx,则将原始的压缩有效负载发送到目标
正如我所说,我们是 Squid n00bs,我们将不胜感激。
这是可行的,但方式略有不同。我想你的意思是 gzip 和压缩 HTTP 的 deflate 编码。
ICAP 有两种模式:
您通常会在响应模式下遇到压缩内容。Squid 会将这些响应发送到您配置的 ICAP respmod 服务,而无需解压缩。服务将按原样接收 ICAP 封装的 HTTP 响应。解压缩和进一步处理是您的 ICAP 服务的任务。
如果 Squid 收到 4XX 或 5XX 响应之一是故障,您可以将 Squid 配置为绕过ICAP 修改或显示 Squid 错误页面。
如果您想应用某些操作,您可以使用 200 状态代码从 ICAP 服务返回通知/阻止/重定向页面内容。
如果您想返回原始内容,只需返回“204 - 无修改”,squid 将发送原始响应,而无需等待 ICAP 服务的响应。Squid 不支持以下情况的 204 :
如果您可以在 ICAP 预览模式下决定是否更改内容,那就更好了。