Se você configurar seu Nginx para ouvir em dois endereços IP, também deverá usar esses endereços IP no Verniz. A melhor maneira de fazer isso é usar dois registros de backend diferentes para o verniz.
backend server1 {
.host = "IP-ADDRESS-1";
.port = "8080";
}
backend server2 {
.host = "IP-ADDRESS-2";
.port = "8080";
}
Por favor, substitua IP-ADDRESS-1 e IP-ADDRESS-2 pelos endereços IP corretos.
Para atribuir o back-end a solicitações recebidas, você pode usar o exemplo a seguir ou modificá-lo de acordo com seus requisitos:
sub vcl_recv {
if (server.ip == "IP-ADDRESS-1") {
set req.backend = server1;
} else {
set req.backend = server2;
}
...
}
Pode ser importante usar os endereços IP para gerar o ID de hash do objeto de cache. Adicione um método vcl_hash específico à sua configuração do Varnish:
sub vcl_hash {
hash_data(server.ip);
if (req.http.host) {
hash_data(req.http.host);
}
hash_data(req.url);
if (req.http.Accept-Encoding) {
hash_data(req.http.Accept-Encoding);
}
return (hash);
}
Por favor, tenha o cuidado de apontar os backends de Varnish para seus sites configurados. No exemplo dado, você configurou o Nginx para escutar na porta 8080, mas endereçou o Varnish para a porta 80. Se você não removeu a configuração do site padrão do Nginx, o Nginx responderá com este site.