我想向每个包含为请求提供服务的Varnish服务器IP的响应添加标头。
在古代文档中,有一个如何执行this的示例(请参见下文),但是由于该子例程不再存在,所以我想知道现代的等效项(即6. *)是什么:
sub vcl_fetch {
# Add a unique header containing the cache servers IP address:
remove obj.http.X-Varnish-IP;
set obj.http.X-Varnish-IP = server.ip;
# Another header:
set obj.http.Foo = "bar";
}
我尝试使用vcl_backend_fetch并将update更新为unset,但是它抱怨无法设置该变量。
该怎么做?
答案 0 :(得分:0)
以下似乎有效。
sub vcl_backend_response {
# Happens after we have read the response headers from the backend.
#
# Here you clean the response headers, removing silly Set-Cookie headers
# and other mistakes your backend does.
unset beresp.http.X-Varnish-IP;
set beresp.http.X-Varnish-IP = server.ip;
}