我在后端有三台服务器,带有一个循环调度控制器。
我希望 varnish 能够用获取响应的服务器的名称或 IP 来编写 X-Server-By 标头,该怎么做?
答案1
在 Varnish 3.0.2 中我使用:
sub vcl_fetch {
set beresp.http.X-Backend = beresp.backend.name;
}
运行完美。
答案2
sub vcl_fetch {
set obj.http.X-Backend = req.backend;
}
在我的(非循环)设置中对 2.0.6 进行了测试。它应该能给你一些参考。
答案3
您可以在您的 Web 服务器上设置标头,例如 x-host:server2,然后 varnish 会将其作为缓存命中响应的一部分返回。
我在 Apache 上运行过这个,并且它运行完美。
答案4
以下内容尚未测试,但可以帮助您入门:
sub vcl_deliver {
set resp.http.X-Served-By = server.hostname;
deliver;
}