我使用以下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 的值还是在用户代理字符串的长度上应用了截断,但是无论如何,截断在某个时候:User-Agent
开头的文本限制为254个字符如何增加截断限制,以便可以显示更长的用户代理?
最佳答案
在生命周期结束的 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 截断用户代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66277038/