sticky_no_fallback

sticky_no_fallback 指令阻止 NGINX 在 sticky cookie 无法被正确处理时回退到 round-robin 负载均衡。

语法sticky_no_fallback;
默认值off
上下文server, location
参数none

说明

sticky_no_fallback 指令是 NGINX sticky cookie module 的一部分,该模块旨在基于 sticky cookie 确保客户端始终被路由到相同的 upstream server。这一指令在会话持久性至关重要的场景中特别有用,例如在请求之间维护用户状态或上下文的 web 应用中。

当启用 sticky_no_fallback 且请求携带的 cookie 无法匹配到 upstream server(例如由于该服务器不存在或 cookie 数据无效)时,NGINX 将返回 '502 Bad Gateway' 错误,而不是回退到对可用服务器的 round-robin 平衡。此行为确保客户端不会遭遇意外的状态变化,但也意味着如果目标服务器宕机或不可达,用户会看到错误而不是被重定向到其他服务器。因此,该指令允许管理员强制执行基于 cookie 的严格路由行为。

配置示例

server {
    location / {
        sticky;
        sticky_no_fallback;
    }
}

如果粘性 cookie 与可用的上游服务器不匹配,请确保您的应用程序能够优雅地处理 502 错误。

使用此指令可能会导致 502 错误率升高,尤其是在后端服务器经常宕机或 cookie 值变得过时或无效时。

← 返回所有指令