En una máquina de desarrollo local, tengo un proxy inverso nginx como este:
server {
listen 80;
server_name myvirtualhost1.local;
location / {
proxy_pass http://127.0.0.1:8080;
}
server {
listen 80;
server_name myvirtualhost2.local;
location / {
proxy_pass http://127.0.0.1:9090;
}
Sin embargo, si depuro mi aplicación, la respuesta puede demorarse por un tiempo infinito, pero después de 30 segundos obtengo:
504 Gateway Time-out
como respuesta.
¿Cómo puedo desactivar el tiempo de espera y hacer que mi proxy inverso espere para siempre una respuesta? Y me gusta que la configuración sea global, de modo que no tenga que configurarla para cada proxy.
nginx
configuration
timeout
k0pernikus
fuente
fuente
Respuestas:
Puede que no sea posible deshabilitarlo, pero una solución viable es aumentar el tiempo de ejecución. En un sitio tutorial de nginx , se escribió:
y vuelva a cargar la configuración de nginx:
He usado un valor bastante grande que es poco probable que suceda, es decir,
999999
o que use unidades de tiempo , a un día a través de1d
.Tenga en cuenta que establecer el valor en
0
provocará un error de tiempo de espera de puerta de enlace inmediatamente.fuente
0
no funcionar! Tenga en cuenta que puede especificar unidades de tiempo con sufijos legibles , por lo que podría usar un valor como1d
.proxy_connect_timeout 600;
al archivo nginx.conf, pero el tiempo de espera aún está en 60 segundos. ¿Algo más que deba probar?Si está utilizando AWS y Load Balancer, debe editar el tiempo de espera inactivo. Creo que el valor predeterminado es 60 segundos
fuente
He estado luchando con el error de tiempo de espera nginx 502 y no pude resolver el problema. Sin embargo, resultó ser gunicorn causando el error de tiempo de espera. Por lo tanto, es posible que también deba verificar la configuración de fastcgi.
Para gunicorn es:
fuente