ICAP 扫描器前面必须有一台代理
把 ICAP 适配服务放到它该在的位置,而不是把它的端口当成浏览器代理填进去。
browser → forward proxy → website
↕
ICAP service
让浏览器使用前面的正向代理,而不是扫描器的 ICAP 端口。代理是 ICAP 客户端,扫描器是 ICAP 服务端。1344 端口上的监听者即使不理解浏览器式的 HTTP 代理请求或 CONNECT,也可能一切正常。
ICAP 旁路接收挑选出来的 HTTP 报文用于检查或适配。它在串联代理链中并不一定是另一个互联网出口。
按需要检查的内容选择阶段。REQMOD 处理提交的请求,RESPMOD 处理提交的响应。只做响应扫描的装置本身并不检查上传内容。选定的代理产品必须为你需要的服务和阶段提供 ICAP 客户端支持。
在支持 ICAP 的 Squid 版本中,服务定义与适配访问规则是分开的。仅仅声明扫描器,并不会让每一笔事务都经过它。对于 Squid 7 的响应服务,要同时配置 ICAP 服务选择与适配访问。还要把服务出错时是阻断请求、还是允许按配置绕过,作为过滤要求的一部分确定下来。
普通 CONNECT 同样让 HTTPS 应用内容保持加密。把隧道交给代理并不会提供可供扫描的 HTTP 响应正文。任何有意为之的 TLS 解密方案,都需要各自兼容的配置和客户端信任。