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