proxy reverso nginx não retornando site

2

A configuração

Atualmente, temos um servidor da web Apache2 atuando como balanceador de carga para nossa arquitetura da web. Os backends são máquinas virtuais Xen acessíveis via IPv6 para a Internet pública e via IPv4 para nossa VPN. O problema é que o balanceador de carga do Apache 2 não funciona tão bem quanto gostaríamos, então estamos mudando para o nginx.

A configuração

A versão do nginx instalada é a 1.3.10, que foi compilada com as opções padrão do Debian. Nós tivemos que ir para esta versão, porque era o único que suporta backends IPv6, que é um requisito para essas VMs. No momento, o nginx tem apenas um "host virtual" ou bloco de servidor e é o seguinte.

upstream backend-cookissime-prod  {
  server cookissime-prod.cookissime1.vm.cob:80 max_fails=5;
  server cookissime-prod.cookissime2.vm.cob:80 max_fails=5;
}

server {
  listen 37.59.6.220:80;
#  listen [::]:80;
  server_name www.cookissime.fr;

  access_log  /var/log/nginx/cookissime-prod.log;
  error_log  /var/log/nginx/cookissime-prod.log;

  ## send request back to apache1 ##
  location / {
    proxy_pass  http://backend-cookissime-prod;
    proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
    proxy_redirect off;
    proxy_buffering off;
    proxy_set_header        Host            $host;
    proxy_set_header        X-Real-IP       $remote_addr;
    proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
   }
}

upstream backend-cookissime-dev  {
  server cookissime-dev.cookissime1.vm.cob:80 max_fails=5;
  server cookissime-dev.cookissime2.vm.cob:80 max_fails=5;
}

Existe também um segundo bloco de código que pega as informações acima e substitui prod por dev. Os nomes de domínio cookissime-prod.cookissime1.vm.cob e cookissime-prod.cookissime2.vm.cob são resolvidos para um IPv6 em nosso DNS interno.

O problema

A configuração acima parece ser boa em termos de sintaxe. O problema é que na maioria das vezes, essa configuração exibe a página padrão "Bem-vindo ao nginx", mas esporadicamente exibirá o site por alguns minutos e retornará à página padrão.

Esta configuração funciona corretamente com o Apache2, portanto as máquinas virtuais são funcionais.

O que estou perdendo? O que poderia causar esses problemas?

    
por Antoine Benkemoun 13.02.2013 / 19:03

0 respostas