Estou executando o Nginx como um proxy reverso como um contêiner no meu Docker Swarm. Eu sei que na inicialização ele armazena em cache todos os aliases dos meus locais proxy_pass. Ao executar um serviço no Docker Swarm, o serviço recebe um VIP e o swarm direcionará o tráfego para esse VIP para um dos contêineres de back-end. Minha suposição é que o Nginx deve armazenar em cache o VIP para o meu serviço e, desde que eu execute somente os comandos docker service update
, o VIP não será alterado (mesmo que os IPs do back-end possam mudar).
No entanto, este não é o comportamento que estou vendo. Sempre que eu executo docker service update
, o VIP não muda, mas meu proxy começa a enviar respostas de Gateway Incorreto. Se eu então --force
o serviço de proxy para atualizá-lo geralmente começa a funcionar novamente. Gostaria de verificar qual IP (s) Nginx está armazenando em cache, mas não consigo encontrar documentação sobre onde reside esse cache.
FYI: Eu experimentei o resolvedor que funciona, mas isso significa que meu site está inativo até que o TTL expire (o que sei que posso definir como baixo, mas não deveria).
Tags nginx docker-swarm