我在後端有三台伺服器,有一個循環控制器。
我希望 varnish 編寫一個 X-Server-By 標頭,其中包含從中獲取回應的伺服器的名稱或 ip,這如何完成?
答案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;
}