proxy_next_upstream_tries
Директива `proxy_next_upstream_tries` управляет количеством попыток связи с upstream-серверами, если предыдущий запрос завершился неудачей. — NGINX HTTP Core
Описание
Директива `proxy_next_upstream_tries` задаёт максимальное количество попыток, которые NGINX предпримет для связи с upstream-серверами до возврата ошибки. По сути она помогает балансировке нагрузки, устанавливая лимит повторных попыток, применяемый, когда запрос к upstream-серверу не удаётся из‑за указанных условий отказа. К таким условиям могут относиться недоступность сервера, таймауты или другие ошибки. Когда директива установлена, NGINX попытается повторно отправить запрос на другой сервер в определённой группе upstream до указанного числа попыток. Если будет достигнут максимальный предел попыток, NGINX вернёт клиенту сообщение об ошибке. Эта функция может повысить доступность и устойчивость сервисов, особенно в развертываниях в кластере, где некоторые серверы могут временно перестать отвечать. Поведение этой директивы определяется директивой `proxy_next_upstream`, которая определяет, какие сценарии отказа должны запускать повторную попытку. Важно сбалансировать число попыток в условиях ограниченных ресурсов, поскольку чрезмерные повторы могут привести к снижению производительности из‑за ненужной нагрузки на upstream-серверы.
Пример конфига
location /api {
proxy_pass http://backend;
proxy_next_upstream_tries 3;
}Установка значения на очень большое число может привести к увеличению задержки и потребления ресурсов.
Если не сочетать с соответствующими настройками `proxy_next_upstream`, повторные попытки могут не происходить так, как ожидается, из‑за неверной конфигурации условий отказа.