我一直在为这个超时问题挠头,希望能得到一些帮助。我有一个可能需要 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 设置正在使用连接超时
var timeout = require('connect-timeout');
app.use(timeout(300000));