0

我们是 Squid 的新手并尝试设置此配置,但不确定是否可行:

  • 传入的压缩 HTTP
  • 解压转发到ICAP服务
  • 如果 ICAP 服务返回 4xx,则记录并丢弃
  • 如果 ICAP 返回 2xx,则将原始的压缩有效负载发送到目标

正如我所说,我们是 Squid n00bs,我们将不胜感激。

4

1 回答 1

1

这是可行的,但方式略有不同。我想你的意思是 gzip 和压缩 HTTP 的 deflate 编码。

ICAP 有两种模式:

  • 请求模式(浏览器 -> squid -> icap server-> squid -> webserver)
  • 响应模式(webserver -> squid -> icap server-> squid -> 浏览器)

您通常会在响应模式下遇到压缩内容。Squid 会将这些响应发送到您配置的 ICAP respmod 服务,而无需解压缩。服务将按原样接收 ICAP 封装的 HTTP 响应。解压缩和进一步处理是您的 ICAP 服务的任务。

如果 Squid 收到 4XX 或 5XX 响应之一是故障,您可以将 Squid 配置为绕过ICAP 修改或显示 Squid 错误页面。

如果您想应用某些操作,您可以使用 200 状态代码从 ICAP 服务返回通知/阻止/重定向页面内容。

如果您想返回原始内容,只需返回“204 - 无修改”,squid 将发送原始响应,而无需等待 ICAP 服务的响应。Squid 不支持以下情况的 204 :

  • 有效载荷的大小大于 64kb。
  • 有效载荷的大小不能(容易)确定。

如果您可以在 ICAP 预览模式下决定是否更改内容,那就更好了。

于 2016-04-05T21:57:19.200 回答