现有如下配置
负载了43.11跟43.3 两台服务器,43.3可以正常访问,43.11设置成了不正常的状态码是403,该配置表示120s内达到两次返回失败则判定该服务器服务异常将不会再向该服务器发送请求,直到等待120s之后继续发送请求。
之前看了nginx官网对于重试机制的解释,该失败的定义取决于proxy_next_upstream参数
默认值为error,timeout
现在我们使用如上配置定义403也为失败条件,进行访问,查看43.11的日志
发现并没有触发失败重试,也就是我们的配置没有生效,这点让我迷惑了下甚至看了其他博主讲解失败重试机制都没有找到答案所以我又去翻了翻官网proxy_next_upstream的定义,终于
原来是这样,403,404永远不会被认为是失败,也就是说我们只有定义500,502这些才会被认为是失败尝试从而触发失败机制。