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 的值或用户代理字符串的长度进行了截断,但无论如何,在某些点上进行了截断:

如何增加截断限制以便显示更长的用户代理?

在生命周期结束的 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.