Como faço para que o verniz retorne no cabeçalho de resposta http de qual back-end ele obteve a resposta?

Como faço para que o verniz retorne no cabeçalho de resposta http de qual back-end ele obteve a resposta?

Tenho três servidores no backend, com um diretor round robin.

Gostaria que o verniz escrevesse um cabeçalho X-Server-By com o nome ou ip do servidor de onde a resposta foi buscada, como isso pode ser feito?

Responder1

No verniz 3.0.2 eu uso:

sub vcl_fetch {
    set beresp.http.X-Backend = beresp.backend.name;
}

Funciona perfeitamente.

Responder2

sub vcl_fetch {
    set obj.http.X-Backend = req.backend;
}

Testado em 2.0.6 na minha configuração (sem round robin). Deve lhe dar algo para continuar.

Responder3

Você pode definir o cabeçalho em seu servidor web, por exemplo, x-host: server2 e então o verniz retornará isso como parte da resposta a um acerto de cache.

Eu tenho isso funcionando no apache e funciona perfeitamente.

Responder4

O seguinte não foi testado, mas pode ajudar você a começar:

sub vcl_deliver {
    set resp.http.X-Served-By = server.hostname;
    deliver;
}

informação relacionada