upstream_log
upstream_log 指令以定义的格式记录发送到上游服务器的请求日志。
Writes upstream request logs in a specified format
·
httpserverlocationif in locationlimit_except
语法upstream_log path format;
默认值none
上下文http, server, location, if in location, limit_except
参数1+
说明
upstream_log 指令用于在 NGINX 服务器配置中为发送到上游服务器的请求写入详细日志。它的工作方式类似于现有的 access_log 功能,但它专门在每个上游请求结束时跟踪并记录数据。这包括在处理单个请求过程中联系多个上游服务器的情况,确保日志条目捕获与这些服务器的所有交互。此外,如果发生内部重定向,例如使用 X-Accel-Redirect 或 error_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 指令可能导致混淆;最佳实践是将日志记录集中管理。