Configuring nginx to retry a single upstream server

Maxim Dounin mdounin на mdounin.ru
Пн Май 24 03:05:20 UTC 2021


Hello!

On Sat, May 22, 2021 at 03:49:01PM +0300, Gena Makhomed wrote:

> On 22.05.2021 15:31, fox wrote:
> 
> > Можете поставить haproxy - он как раз будет держать клиента секунд 10, 
> > пока бекэнды перезагружаются. Браузеру придётся ждать эти 10 секунд,
> > но зато он не получит 5хх ошибку.
> 
> Могу поставить haproxy, но haproxy - это не веб-сервер, он не умеет
> отдавать статику. Значит надо будет использовать одновременно и haproxy
> и nginx - а это будет примерно в два раза больше работы. Хотелось бы
> этой лишней работы избежать и обойтись одним только nginx.
> 
> To: Maxim Dounin: Как я понял, сейчас nginx этого не умеет.
> Планируется ли в будущем добавить такую функциональность в nginx?

Если это зачем-то надо - то это можно сделать с помощью 
конфигурации, error_page + delay + повторное обращение к тому же 
бэкенду.

Но вообще если перезапуск php-бэкенда под боевой нагрузкой 
считается нормальным рабочим действием, то браузер так или иначе 
имеет шанс получить неполный ответ же.  Пытаться в подобной 
ситуации ещё и ошибки обрабатывать - как по мне, выглядит 
излишним.

-- 
Maxim Dounin
http://mdounin.ru/


Подробная информация о списке рассылки nginx-ru