我的服务器是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错误.
根据您的描述,您的问题现在在服务器上.您需要在nginx和Web服务器上设置超时.默认情况下,节点的默认超时为2分钟.
查看server.setTimeout选项:http://nodejs.org/api/http.html#http_server_settimeout_msecs_callback
希望这可以帮助.
| 归档时间: |
|
| 查看次数: |
3688 次 |
| 最近记录: |