升级到Varnish 7.2¶
华而不实¶
参数¶
以下参数已弃用:
vcc_allow_inline_c
vcc_err_unref
vcc_unsafe_path
它们仍然可以设置为单独的布尔参数。不推荐使用的别名将在将来的版本中删除。
它们被替换为 vcc_feature
BITS参数:
allow_inline_c
err_unref
(默认情况下启用)unsafe_path
(默认情况下启用)
以下命令等效:
param.set vcc_err_unref off
param.set vcc_feature -err_unref
身份¶
服务器标识必须是有效的HTTP令牌,这可能会对现有设置造成问题。例如 varnishd -i "edge server 1"
不再被接受。您可以使用类似于 varnishd -i "edge-server-1"
取而代之的是。
VCL¶
默认情况下,Varnish会生成一个Via标头并将其转发到后端。这可以被防止,例如在 vcl_recv
或 vcl_backend_fetch
。
sub vcl_recv {
unset req.http.via;
}
sub vcl_backend_fetch {
unset bereq.http.via;
}
Via标头是使用 server.identity
属性的变量 received-by
菲尔德。看见 rfc9110_ 有关Via标头的说明,请参见。
A resp.http.via
标题不再由Varnish覆盖,而是追加到后面。
VMODs¶
Vmod_cookie生成的Cookie过去有一个尾随分号,这与 rfc6265 。这应该不会造成问题,除非一段VCL代码或后端已经依赖于这种不正确的行为。
Varnishlog¶
这个 Begin
和 Link
对于子请求级别,日志记录有一个可选的第4个字段。这可能会破坏日志处理器、日志查询或NCSA格式,这些格式要求这些记录正好有3个字段。
Varnish状态¶
这个 MAIN.fetch_no_thread
计数器不见了,它从来没有起作用过。跟踪 MAIN.bgfetch_no_thread
取而代之的是计数器。