设置 Nginx 以*不*在 Rails 超时时重试

设置 Nginx 以*不*在 Rails 超时时重试

我有一个 Rails+Phusion Passenger 设置。有时,Nginx 代理 Passenger/Rails 的用户查询会超时。我们如何设置 Nginx,以便在 keepalive_timeout 之后,Nginx 不会不是重试,而只是报告错误 - 可能是 502 - 然后继续,而不是一次又一次地重试“坏”的控制器/动作

答案1

  proxy_read_timeout 600;
      proxy_next_upstream off;

增加超时时间并关闭上游重试 http://wiki.nginx.org/HttpProxyModule#proxy_next_upstream

60 秒后停止重新提交,但我们仍然发现 305 秒后重新提交。不知道为什么,所以我们这样做了:proxy_read_timeout 600;

5 分钟后超时,用户收到 504

相关内容