Délai d’attente de requête HTTP à 2 minutes dans NGINX 502 Mauvaise passerelle dans l’application Node

Je me suis gratté la tête sur ce problème de délai d’attente et j’espère obtenir de l’aide. J’ai une requête http qui peut prendre 2,5 minutes pour renvoyer la réponse. J’ai un délai d’attente de traitement de 3 minutes pour Angular et de 3 minutes pour NodeJS. Mon paramètre nginx a un délai d’attente de 200 secondes et mon délai de connexion Elastic Load Balancing est défini sur 4 minutes. Cependant, je continue à voir l’erreur 502 bad gateway nginx 1.4.6 (Ubuntu) à exactement 2 minutes. Y a-t-il une partie qui me manque pour avoir plus de temps d’attente?

Mon paramètre nginx:

server { listen 80; server_name; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log debug; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; proxy_set_header Connection ""; proxy_http_version 1.1; proxy_pass http://localhost:8060; proxy_redirect off; proxy_connect_timeout 200s; proxy_send_timeout 200s; proxy_read_timeout 200s; send_timeout 200s; } #Handle protected assets using 'internal' directive documented here: https://www.nginx.com/resources/wiki/start/topics/examples/x-accel/ location /protected { internal; expires -1; } } 

Mon paramètre NodeJS utilise connect-timeout

 var timeout = require('connect-timeout'); app.use(timeout(300000)); 

Je viens de trouver cela aujourd’hui, et j’ai probablement trouvé une réponse – il y a un délai de 120 s codé en dur dans le module http du noeud. J’ai dû définir le timeout du socket dans un gestionnaire de requête donné comme ceci:

 yourHandler(req, res) { req.socket.setTimeout(3600e3); // 1 hour // ... do the real work res.json(...); } 

Vous pouvez également définir cette limite sur 0 pour désactiver ce délai.

https://nodejs.org/api/net.html#net_socket_settimeout_timeout_callback

a trouvé à l’origine la réponse ici: https://forum.nginx.org/read.php?2,214230,214239#msg-214239