Nossa configuração da AWS tem um servidor nginx apontando todas as solicitações do PHP para um ELB com vários servidores PHP. Quando o próprio ELB é dimensionado, perdemos a conectividade nas próximas horas, já que esses IPs antigos são reciclados. Uma reinicialização dos servidores nginx re-armazena em cache os IPs do ELB e tudo volta a funcionar. Coisas bastante padrão.
A solução que encontrei em todos os lugares é que preciso incluir um resolver
para permitir a nova resolução enquanto o servidor está em funcionamento. O problema que estou encontrando é duplo:
Aqui está minha configuração atual:
http {
resolver 10.0.0.2 valid=10s;
...
server {
...
location ~ \.php$ {
include /etc/nginx/fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
set $route "php:9000";
fastcgi_pass $route;
}
}
}
Um artigo que eu encontrei mencionado usando o tcpdump para revisar solicitações de DNS, mas não vejo nada, e definitivamente não a cada 10 segundos como está escrito. Poderia ter a ver com o uso de fastcgi_pass em vez de proxy_pass? Estou faltando alguma outra coisa?