Tempo limite expirado de upstream (110: Tempo limite da conexão esgotado) com nginx + Tomcat + Amazon EC2

2

Em uma instância do Amazon EC2, temos o nginx e o Tomcat em execução. O Nginx está fazendo o proxy de todas as solicitações para o Tomcat na porta 8080 em execução na mesma instância.

Isso funcionou bem durante um dia, mas depois começou a ver muitos erros de upstream timed out (110: Connection timed out) nos logs do nginx e o site estava inacessível. Agora o Tomcat está acessível na porta 8080. Portanto, o problema parece estar em algum lugar entre o nginx e o Tomcat.

Isso é o que parece com nginx.conf ,

worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    server {
        listen       80;
        server_name  domainname.com;
        rewrite ^/(.*) http://www.domainname.com/$1 permanent;
    }

    server {
        listen       80;
        server_name  www.domainname.com;
        location / {
            proxy_set_header X-Forwarded-Host $host;
            proxy_set_header X-Forwarded-Server $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass http://127.0.0.1:8080;
            proxy_read_timeout 120;
            proxy_connect_timeout 120;
        }

    }
}

Qualquer ideia seria útil.

Atualização: Depois de reiniciar a instância, o site começou a funcionar. Eu não tenho absolutamente nenhuma idéia do problema, mas vou monitorá-lo por um tempo para tais problemas.

    
por aldrin 18.08.2012 / 07:13

1 resposta

2

Por favor, use o seguinte para redirecionar:

server {
    listen       80;
    server_name  domainname.com;
    return 301 $scheme://www.$server_name$request_uri;
}

Adicione o seguinte à sua configuração:

error_log /var/log/nginx/error.log debug;

E avalie ou poste o resultado aqui.

    
por 18.08.2012 / 12:09