为什么 nginx 不能有超过 75 秒的代理连接等待时间?

为什么 nginx 不能有超过 75 秒的代理连接等待时间?

根据这个文档这里,nginxproxy_connect_timeout不能有超过75秒的延迟。

我知道应用程序有这么高的延迟真是太糟糕了,但我很好奇为什么是这个确切的值?

答案1

来自 nginx 邮件列表(见http://forum.nginx.org/read.php?2,214595,214597#msg-214597

连接超时受操作系统的 SYN 重新传输计数限制和超时限制。在 FreeBSD 下,默认为 75 秒(3 次重新传输,采用指数退避:3 秒 + 6 秒 + 12 秒 + 24 秒),在 Linux 下,默认为 20 秒左右。看起来您已经达到此限制。

扩大此限制的唯一方法是调整操作系统,例如在 Linux 上尝试调整 net.ipv4.tcp_syn_retries sysctl。

相关内容