Но для моего случая, немного не то...
Вчитайтесь, там как раз есть, когда сервер загружен сильно и не отдает информацию, перебрасывает на другой сервер.
Видать не все ссылки прочли:
max_fails = число, задает число неудачных попыток обращения к серверу, в промежуток времени, установленный параметром fail_timeout, после которых, сервер считается неработающим, в течении времени, опять-же установленного параметром fail_timeout. Если параметр не указан, число попыток равно 1. Какую ситуацию считать ошибкой, в процессе работы с сервером из группы, определяют директивы proxy_next_upstream и fastcgi_next_upstream, в соответствующих блоках Location.
То что вы искали:
Какую ситуацию считать ошибкой бакэнд-сервера и отправлять запрос на следующий сервер группы. Возможные значения:
error — ошибка соединения, чтения заголовка или передачи ответа.
timeout — таймаут во время соединения, чтения заголовка или передачи ответа.
invalid_header — возврат пустого или неправильного заголовка.
http_500 — ответ с кодом 500.
http_503 — ответ с кодом 503.
http_404 — ответ с кодом 404.
off — не передавать запрос следующему серверу.