nginx redireciona com nome do dns

1

Eu tenho redirecionamento nginx como:

server {                                                                                                         
      listen       127.0.0.1:80;                                                                                 
      server_name  myname.local
      location / {                                                                                               
          proxy_pass http://m1.local:8080;                                                               
          }                                                                                                      
    }                                                                                                            
}   

Funciona bem.

Mas após o endereço IP para m1.local foi alterado - nginx start para retornar "gateway inválido".

Parece que tem endereço IP em cache para m1.local.

nslookup m1.local do computador nginx mostra o valor correto e reinicia o nginx para reparar a situação.

Como dizer nginx que não deve armazenar em cache ip's para o nome dns?

    
por Korjavin Ivan 05.09.2013 / 13:44

2 respostas

1

Eu encontrei a solução aqui:

link

location / {
set $backend "m1.local";
proxy_pass http://$backend;
}
    
por 05.09.2013 / 14:04
2

O Nginx está fazendo essas pesquisas de nome no início e, em seguida, mantém apenas os IPs. Isso significa que nem manterá os nomes na memória durante o tempo de execução para procurá-los novamente.

Se você alterar as entradas de DNS a que se refere no conf Nginx, poderá fazer um nginx -s reload para recarregar a configuração, o que inclui refazer as pesquisas de DNS.

    
por 05.09.2013 / 13:47