给定一个 nginx 配置:
proxy_pass http://yahoo.com;
如何获取字符串“http://yahoo.com“在access_log中? $remote_addr是 IP。
答案1
将其添加到您的log_format
$proxy_host
和$upstream_addr
^-感谢评论者 Alex。只是在这里添加,以便人们在访问时可以看到它。
答案2
您需要"$proxy_host" "$upstream_addr"
您的 log_format。
log_format proxy_log '[$time_local] $remote_addr - $remote_user "$host$request_uri" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"'
' Proxy: "$proxy_host" "$upstream_addr"';
然后在适当的 access_log 中引用日志标识符access_log /dev/stdout proxy_log;