Nginx龙卷风组合导致502错误的网关错误

我们正面临一个不一致的502错误的问题,并追查原因是一个非常令人沮丧的工作。 我们可以通过快速发送多个同时请求来重现问题。 问题是几个人在5秒内(而不是打字错误)只能在10到20的范围内。 所以这种types的负载应该很容易处理。

我们真的很喜欢Nginx + Tornado的方法,但是正在考虑采用更传统的方法(例如线程),因为这个问题很难解决。 我想知道如果你a)知道如何解决这个问题,b)我们如何能够追查到罪魁祸首。

日志文件只是标识连接被拒绝。 我们有这个职位相同的问题: https : //stackoverflow.com/questions/2962439/how-do-i-debug-a-http-502-error

但是如何解决这个问题还没有答案,所以我希望你能帮忙,因为这可能是这种types的设置常见的问题。

提前致谢,

保罗

默认情况下,nginx没有configuration为重新连接到另一个上游,如果其中一个发回502错误。 你基本上需要添加这个:

proxy_next_upstream error timeout http_502; 

到你的configuration。 这将防止502错误直接发送回客户端,而是导致nginx尝试寻找更好的上游。 它会尝试所有的上游之前,根据这个职位回到客户端:

http://forum.nginx.org/read.php?2,152071,152212

这里是关于configuration指令的更多细节:

http://wiki.nginx.org/HttpProxyModule#proxy_next_upstream