Nginx作为node.js的代理 - 请求失败

时间:2013-07-14 20:10:04

标签: node.js nginx request long-polling

我将nginx设置为node.js的代理,用于长轮询,如下所示:

location /node1 {
access_log on;
log_not_found on;
proxy_pass http://127.0.0.1:3001/node;
proxy_buffering off;
proxy_read_timeout 60;
break;
}

不幸的是,大约一半的长轮询请求返回错误和空响应。我的nginx版本是dreamhost提供的v.0.8.53,长轮询请求应该在服务器上排队大约30秒。

案例是:

直接查询node.js:

curl --connect-timeout 60 --max-time 60 --form "username=User" http://127.0.0.1:3001/node/poll/2/1373730895/0/0

工作正常,但通过nginx:

curl --connect-timeout 60 --max-time 60 --form "username=User" http://www.mydomain.com/node1/poll/2/1373730895/0/0

在一半的情况下失败 - 失败的案例没有出现在nginx access_log中(成功的那些)并且curl返回:     curl:(52)来自服务器的空回复

它可能与更高的流量连接,而且我还没有在流量较低的其他网站上看到它,并且应该具有相似的设置。

我将非常感谢有关该问题的任何帮助或暗示如何进一步调试它。

0 个答案:

没有答案