upstream_log

upstream_log 指令以定义的格式记录发送到上游服务器的请求日志。

语法upstream_log path format;
默认值none
上下文http, server, location, if in location, limit_except
参数1+

说明

upstream_log 指令用于在 NGINX 服务器配置中为发送到上游服务器的请求写入详细日志。它的工作方式类似于现有的 access_log 功能,但它专门在每个上游请求结束时跟踪并记录数据。这包括在处理单个请求过程中联系多个上游服务器的情况,确保日志条目捕获与这些服务器的所有交互。此外,如果发生内部重定向,例如使用 X-Accel-Redirecterror_page,在每次联系后也会创建一条日志条目,从而提供全面的请求跟踪。

配置示例

http {
    log_format upstream '$remote_addr $upstream_last_addr [$time_local] "$upstream_method $upstream_uri" '
                     '$upstream_last_status $upstream_last_response_length';

    upstream cluster {
        server 192.168.0.1:80;
        server 192.168.0.2:80;
    }

    server {
        listen 80;
        upstream_log logs/upstream.log upstream;
        location / {
            proxy_pass http://cluster;
        }
    }
}

确保在 upstream_log 中指定的格式正确定义,因为格式不正确的日志可能导致解析错误。

该模块被视为实验性;用户应保持谨慎,并在非生产环境中彻底测试配置。

在相同上下文中使用多个 upstream_log 指令可能导致混淆;最佳实践是将日志记录集中管理。

← 返回所有指令