У меня три сервера на бэкэнде с циклическим директором.
Я хотел бы, чтобы 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
Вы можете установить заголовок на своем веб-сервере, например x-host: server2, и тогда Varnish вернет его как часть ответа на обращение к кэшу.
У меня это работает на Apache и отлично.
решение4
Следующие рекомендации не тестировались, но могут помочь вам начать:
sub vcl_deliver {
set resp.http.X-Served-By = server.hostname;
deliver;
}