- capture {request|response} header捕获并记录指定请求或响应首部最近一次出现时的第一个值,捕获的首部值使用花括号{}括起来后添加进日志中。
- 如果需要捕获多个首部值,它们将以指定的次序出现在日志文件中,并以竖线"|"作为分隔符,不存在的首部记录为空字符串。最常需要捕获的首部有如下几个:
1.虚拟主机环境中使用的Host字段
2.上传请求首部中的Content-length字段
3.快速区别真实用户和网络机器人的User-agent字段
4.代理环境中记录真实请求来源的X-Forward-For字段
- capture语法:capture request header len
1.: 要捕获的名称,不区分大小写。注意: 记录在日志中是首部对应的值,而非首部名称
2.: 限定记录首部值是所记录的精确长度,超出部分将会被忽略
配置示例
frontend app_frontend
bind *:80
use_backend app
mode http
capture request header Host len 40 #捕捉请求的域名
capture request header User-Agent len 36 #捕捉请求的设备
capture response header Server len 40 #捕捉相应的Server是什么