Varnish使用服务器IP添加HTTP标头

时间:2019-07-10 11:41:31

标签: varnish varnish-vcl

我想向每个包含为请求提供服务的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,但是它抱怨无法设置该变量。

该怎么做?

1 个答案:

答案 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;
}