Solicitações de retenção do Nginx enquanto o aplicativo está recarregando

3

Eu tenho um servidor proxy reverso nginx configurado para encaminhar solicitações para um aplicativo em execução na porta 5000 via proxy_pass http://localhost:5000; .

Isso funciona, no entanto, quando eu reinicio o aplicativo, por cerca de 10 segundos, qualquer solicitação retorna imediatamente 502 Bad Gateway , até que o aplicativo seja recarregado novamente.

Existe alguma maneira de configurar o Nginx para manter essas solicitações enquanto o aplicativo está inativo, tentando de vez em quando? Eu tentei

upstream backend {                         
  server localhost:5000 fail_timeout=20s; 
  server localhost:5000 backup;          
}
...
    proxy_pass http://backend;

mas isso não parece ter efeito.

    
por Dax Fohl 24.03.2015 / 22:21

1 resposta

1

Você tem algumas opções:

  • Pesquise em seu documento do desenvolvedor para encontrar um sinal de recarga / api adequado em vez de uma interrupção & sequência inicial.

  • Se as suas páginas puderem ser armazenadas em cache, defina um cache de proxy e veicule páginas obsoletas até que o aplicativo seja ativado novamente.

  • Dimensione o back-end para 2 instâncias e reinicie uma por vez e, em seguida, ajuste proxy_next_upstream , se necessário.

por 24.03.2015 / 23:07

Tags