如何在vcl_backend_response中获取req.url?

时间:2014-11-28 21:09:26

标签: varnish varnish-vcl

我的配置基于Varnish 3.0,我一直在更新它们。但我陷入了困境。

vcl_fetch已替换为vcl_backend_responsevcl_fetch内部您曾经req.url使用vcl_backend_response,但if内不再使用{。}}。

所以我留下了三个sub vcl_backend_response { set beresp.do_esi = true; if (!(req.url ~ "wp-(login|admin)")) { unset beresp.http.set-cookie; } if ( req.http.host ~ "[0-9]\.example\.com" || req.http.host ~ "[0-9]\.example\.com") { set beresp.ttl = 60s; } if ( req.url ~ "\.(html|htm|css|js|txt|xml|svg)(\?[a-z0-9=]+)?$" ) { set beresp.do_gzip = true; } } 语句,这些语句不起作用:

{{1}}

如何在Varnish 4.0版中转换这些配置?

顺便说一下,我是Varnish VCL的新手。

1 个答案:

答案 0 :(得分:35)

您现在必须在bereq.url中使用vcl_backend_response