如何使用适配后的标头记录 Squid 发出的有效传出 HTTP 请求?

mis*_*hka 5 http squid http-headers

我使用 Squid 来修改客户端发送的一些 HTTP 标头。出于测试目的,我想完全删除“User-Agent”标头。

这是我的配置:

request_header_access User-Agent deny all
header_replace User-Agent Timmy
logformat mylogformat %>a [%{%H:%M}tl] "%rm %ru HTTP/%rv" %>Hs "Accept:%{Accept}>ha User-Agent:%{User-Agent}>ha" {%Ss:%Sh}
Run Code Online (Sandbox Code Playgroud)

我使用语法 '>ha' 来记录“适配和重定向后的 HTTP 请求标头”,正如这里所说的http://www.squid-cache.org/Versions/v3/3.1/cfgman/logformat.html

不幸的是,根据我的日志文件 access.log,标题没有被修改:

x.x.x.x [19:18] "GET http://example.org/favicon.ico HTTP/1.1" 404 "Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 User-Agent:Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:10.0.2) Gecko/20100101 Firefox/10.0.2" {TCP_MISS:DIRECT}` 
Run Code Online (Sandbox Code Playgroud)

但是,当通过代理向我的 Nginx 服务器发出请求时,Nginx 有效地正确记录了此标头:

[06/Mar/2012:19:18:07 +0100] "GET /sites/all/modules/colorbox/styles/default/images/controls.png HTTP/1.1" 200 2104 "http://example.org/sites/default/files/css/css_zpYGaC6A9wUNMpW3IPg55mz-mMAjvhuo-SZTcX-lqFQ.css" "Timmy"
Run Code Online (Sandbox Code Playgroud)

在鱿鱼日志文件上记录正确修改的 HTTP 标头、重写的 url 等的正确语法是什么?

我的鱿鱼版本是 2.7.STABLE9,它在 Debian SQueeze 64 位上运行。

谢谢你的帮助

小智 0

Squid 文档中的“适配”指的是 ICAP 和 eCAP 适配,它不属于 Squid-2 的一部分。

由 *_header_access 和 header_replace 完成的报头修改是直接在有线格式 mime 报头上完成的,因为它们是由旧的 Squid 版本发送的。当前的 Squid-3 的做法有所不同,但我不确定新方法是否会更好地影响日志结果。