$request_completion
Переменная $request_completion возвращает статус обработки запроса, указывая, был ли запрос успешно завершён или нет. — NGINX Core (HTTP)
Описание
Переменная $request_completion используется в NGINX для предоставления информации о состоянии обработки запроса. Эта переменная в основном устанавливается в ходе жизненного цикла запроса ядром NGINX и может принимать одно из трёх значений: 'ok', 'timeout' или 'failed'. Она особенно полезна для логирования и условной логики в конфигурациях NGINX, позволяя администраторам по-разному реагировать в зависимости от того, был ли запрос успешно завершён, истёк ли таймаут или произошла другая ошибка. Переменная обычно оценивается в процессе обработки запроса после формирования ответа или при возникновении ошибки запроса. Если сервер успешно завершил обработку запроса, значение переменной устанавливается в 'ok'. В случаях, когда запрос превышает настройки таймаута, она возвращает 'timeout', а если выполнение не удалось по другим причинам, — 'failed'. Такая детализация статуса помогает при диагностике и мониторинге производительности сервера NGINX.
Пример конфига
log_format custom_format '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" $request_completion'; access_log /var/log/nginx/access.log custom_format;
Подсистема
httpКэшируется
ДаКонтексты
http, server, location, ifУбедитесь, что вы не используете эту переменную в неправильном контексте, например внутри блока 'if', что может привести к неожиданному поведению.
Переменная может быть не определена или иметь неверное значение, если к ней обращаться до полного завершения обработки запроса.