백엔드에는 라운드 로빈 디렉터가 있는 3개의 서버가 있습니다.
응답을 가져온 서버의 이름이나 IP를 사용하여 X-Server-By 헤더를 varnish에 작성하고 싶습니다. 어떻게 해야 합니까?
답변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
웹 서버에서 헤더를 설정할 수 있습니다(예: x-host: server2). 그런 다음 varnish는 캐시 히트에 대한 응답의 일부로 이를 반환합니다.
나는 이것을 아파치에서 작업하고 있으며 완벽하게 작동합니다.
답변4
다음은 테스트되지 않았지만 시작하는 데 도움이 될 수 있습니다.
sub vcl_deliver {
set resp.http.X-Served-By = server.hostname;
deliver;
}