$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' 块中,这可能导致意外行为。

如果在请求处理尚未完全完成之前访问该变量,该变量可能未定义或不准确。