En el caso de tener un proxy que llama a un backend y éste tarda demasiado en responder, obtendremos como respuesta de NGINX el error 504 Gateway Time-out. En ocasiones simplemente se puede deber a la tardanza en darnos una respuesta de un mysql que hace una extensa consulta.

En el caso que un mysql externo tarde más de lo normal en darnos la respuesta a una consulta, podremos ver que en el log de errores de la web nos aparece un mensaje de error como éste:

upstream timed out (110: Connection timed out) while reading response header from upstream

Para darle solución al tema, tenemos que editar el archivo nginx.conf y añadir los siguientes parámetros dentro del apartado http{ :

http {
proxy_connect_timeout 1200s;
proxy_send_timeout 1200s;
proxy_read_timeout 1200s;
fastcgi_send_timeout 1200s;
fastcgi_read_timeout 1200s;

……….

}

Con ésos tiempos de 20 minutos probablemente dejaremos de recibir el Error 504 Gateway Time-out .