Quais são as vantagens / desvantagens de usar um resolvedor por localização, encontrei esta configuração em um servidor, mas meu palpite é que ele não "re-resolve", já que o proxy_pass
também não está usando uma variável
location /foo {
proxy_pass http://foo_backends;
resolver 10.0.0.2 valid=300s;
resolver_timeout 10s;
}
location /bar {
proxy_pass http://bar_backends;
resolver 10.0.0.2 valid=300s;
resolver_timeout 10s;
}
Nos documentos:
When you use a variable to specify the domain name in the proxy_pass directive, NGINX re‑resolves the domain name when its TTL expires.
Portanto, se estou certo, a configuração anterior pode ser reescrita assim:
resolver 10.0.0.2 valid=300s;
resolver_timeout 10s;
location /foo {
set $foo_backend_servers foo_backends.example.com;
proxy_pass http://$foo_backend_servers;
}
location /bar {
set $bar_backend_servers bar_backends.example.com;
proxy_pass http://$bar_backend_servers;
}
Isso está correto ou há algum truque ao usar o local por local? Será que, ao usar um resolvedor por localização, não há necessidade de criar uma variável e passá-la para proxy_pass
?
Tags nginx