nginx 502错误和504错误

use*_*936 2 timeout nginx

我的服务器是node.js,我使用nginx作为反向代理.

现在我必须做一个耗时的https请求,但我总是得到504网关超时错误.和nginx/error.log说:
"上游超时"

所以我将nginx conf更改为:
proxy_read_timeout 600;
proxy_connect_timeout 600;
client_max_body_size 32M;
client_body_buffer_size 512k;
proxy_send_timeout 600;
proxy_buffers 32 4k;
这次将没有504错误,但它会变成502错误,并且nginx /错误说:
"上游过早关闭连接"
我发现错误将在我开始120s请求后出现.
我的请求过程肯定会超过120秒,因为它会做一个耗时的mysql查询.

所以我不知道如何摆脱502错误.

Mih*_*scu 5

根据您的描述,您的问题现在在服务器上.您需要在nginx和Web服务器上设置超时.默认情况下,节点的默认超时为2分钟.

查看server.setTimeout选项:http://nodejs.org/api/http.html#http_server_settimeout_msecs_callback

希望这可以帮助.