sticky_no_fallback

Директива sticky_no_fallback предотвращает переключение NGINX на round-robin load balancing, когда sticky cookie не может быть корректно обработана.

Синтаксисsticky_no_fallback;
По умолчаниюoff
Контекстserver, location
Аргументыnone

Описание

Директива sticky_no_fallback является частью NGINX sticky cookie module, которая разработана для обеспечения того, чтобы клиент последовательно направлялся к одному и тому же upstream server на основе sticky cookie. Эта директива особенно полезна в ситуациях, где сохранение сессии критично, например в веб-приложениях, которые сохраняют состояние пользователя или контекст между запросами.\n\nКогда sticky_no_fallback включена и в запросе присутствует cookie, который не может быть сопоставлен с upstream server (например, из-за отсутствия этого сервера или некорректных данных cookie), NGINX вернёт ошибку '502 Bad Gateway' вместо возврата к round-robin balancing между доступными серверами. Такое поведение обеспечивает отсутствие неожиданных изменений состояния у клиентов, но также означает, что если целевой сервер недоступен или выключен, пользователь увидит ошибку вместо перенаправления на другой сервер. Поэтому эта директива позволяет администраторам строго соблюдать поведение маршрутизации на основе cookie.

Пример конфига

server {
    location / {
        sticky;
        sticky_no_fallback;
    }
}

Убедитесь, что ваше приложение может корректно обрабатывать 502 errors, если sticky cookie не соответствует доступному upstream server.

Использование этой директивы может привести к более частому возникновению 502 errors, если backend servers часто недоступны или если cookie values устаревают или становятся недействительными.

← Ко всем директивам