Varnishlog 截断用户代理
Varnishlog truncating user agent
我正在使用以下 varnishlog
命令(版本为 varnish-5.2.1 revision 67e562482
,我在 Ubuntu 18.04.3
上 运行)列出任何 ReqHeader:
varnishlog -i ReqHeader -c
User-Agent header 看起来像这样:
- ReqHeader User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; Media Center PC 5.0; SLCC1; OfficeLiveConnector.1.5; OfficeLivePatch.1.3; .NET4.0C; Lunasc
我发现,对于某些设备(例如上面的设备),该行被截断了。目前尚不清楚是否对整行、header 的值或用户代理字符串的长度进行了截断,但无论如何,在某些点上进行了截断:
- 整行限制为 273 个字符
- 从
User-Agent
开始的文本限制为 254 个字符
- 用户代理本身限制为 242 个字符
如何增加截断限制以便显示更长的用户代理?
在生命周期结束的 Varnish 5.2 中,the documentation says that the maximum VSL record length is set to 255 bytes.。这可以通过 vcl_reclen
运行时参数进行配置。
假设您要将其设置为 4084 字节。您可以通过将以下运行时参数添加到 varnishd
:
来执行此操作
-p vsl_reclen=4084
您始终可以通过 运行 以下命令验证此值:
$ varnishadm param.show vsl_reclen
vsl_reclen
Value is: 4084b [bytes] (default)
Minimum is: 16b
Maximum is: 4084
Maximum number of bytes in SHM log record.
我正在使用以下 varnishlog
命令(版本为 varnish-5.2.1 revision 67e562482
,我在 Ubuntu 18.04.3
上 运行)列出任何 ReqHeader:
varnishlog -i ReqHeader -c
User-Agent header 看起来像这样:
- ReqHeader User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; Media Center PC 5.0; SLCC1; OfficeLiveConnector.1.5; OfficeLivePatch.1.3; .NET4.0C; Lunasc
我发现,对于某些设备(例如上面的设备),该行被截断了。目前尚不清楚是否对整行、header 的值或用户代理字符串的长度进行了截断,但无论如何,在某些点上进行了截断:
- 整行限制为 273 个字符
- 从
User-Agent
开始的文本限制为 254 个字符 - 用户代理本身限制为 242 个字符
如何增加截断限制以便显示更长的用户代理?
在生命周期结束的 Varnish 5.2 中,the documentation says that the maximum VSL record length is set to 255 bytes.。这可以通过 vcl_reclen
运行时参数进行配置。
假设您要将其设置为 4084 字节。您可以通过将以下运行时参数添加到 varnishd
:
-p vsl_reclen=4084
您始终可以通过 运行 以下命令验证此值:
$ varnishadm param.show vsl_reclen
vsl_reclen
Value is: 4084b [bytes] (default)
Minimum is: 16b
Maximum is: 4084
Maximum number of bytes in SHM log record.