如果没有路由到主机,如何使nginx更早失败?

  • 如果我的上游后端的port是closures的,通常nginx会很快失败并尝试另一个后端,在错误日志中我可以看到

连接()失败(111:连接被拒绝),同时连接到上游

  • 如果我的上游后端没有连接到主机,那么nginx速度很慢(〜3秒),导致用户体验延迟,在错误日志中我可以看到

连接()失败(113:没有路由到主机),而连接到上游

那么,当nginx发现后端不可用时,可以减less3 seconds延迟?

答案是不。 这是允许路由器决定您的机器无法到达目的地的系统超时。

但是你可以写服务探测器(如果你的后端是已知的),它将探测服务,并且如果通过iptables或ipfw使embedded式操作系统防火墙立即用ICMP主机不可达消息应答。