私はこのタイムアウトの問題について頭を悩ませていて、助けを得たいと思っています。応答を返すのに 2.5 分かかる可能性のある http 要求があります。Angular で 3 分間、NodeJS で 3 分間のタイムアウト処理を行っています。私の nginx 設定には 200 秒のタイムアウトがあり、Elastic Load Balancing の接続タイムアウトは 4 分に設定されています。ただし、正確に 2 分で 502 bad gateway nginx 1.4.6 (Ubuntu) エラーが表示され続けます。タイムアウトを長くするために見逃している部分はありますか?
私の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;
}
}
私の NodeJS 設定は connect-timeout を使用しています
var timeout = require('connect-timeout');
app.use(timeout(300000));