$request_completion

Переменная $request_completion возвращает статус обработки запроса, указывая, был ли запрос успешно завершён или нет. — NGINX Core (HTTP)

$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', что может привести к неожиданному поведению.

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