Добрый день! Есть upstream с несколькими серверами. На этом upstream'е бывают очень долгие запросы (это уже другая история). Если клиент разорвал соединение, в логах будет $status = 499, но продолжаем ждать ответа от бекенда (опция proxy_ignore_client_abort on), и если бекенд не отвалился по таймауту, то в переменную $upstream_status пишется код его ответа. А вот если клиент отключился от нас и бекенд отвалился по таймауту, то переменная $upstream_status пустая, хотя, должна быть 504 по идее.
Для сравнения, ситуация с 504 (не кусок из логов, а просто содержимое переменных, но это взято из реальных логов, которых нет в сыром виде): status: 504 upstream_addr: backend-01-1,backend-01-2 upstream_status: 504,504 upstream_response_time: 90,90 Ситуация с 499 и таймаутом бекенда: status: 499 upstream_addr: backend-01-1 upstream_status: - upstream_response_time: 90 Ситуация с 499 и без таймаута бекенда: status: 499 upstream_addr: backend-01-2 upstream_status: 200 upstream_response_time: 0.038 Собственно, вопрос, нормальное ли подобное поведение? Или это больше смахивает на баг? Используется версия 1.16.1. Заранее спасибо! Posted at Nginx Forum: https://forum.nginx.org/read.php?21,286602,286602#msg-286602 _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru