How to record reverse proxy upstream server serving request in Nginx log? How to record reverse proxy upstream server serving request in Nginx log? nginx nginx

How to record reverse proxy upstream server serving request in Nginx log?


First add new logging format

log_format upstreamlog '[$time_local] $remote_addr - $remote_user - $server_name $host to: $upstream_addr: $request $status upstream_response_time $upstream_response_time msec $msec request_time $request_time';

Example output:

[18/Nov/2019:10:08:15 -0700] <request IP> - - - <config host> <request host> to: 127.0.0.1:8000: GET /path/requested HTTP/1.1 200 upstream_response_time 0.000 msec 1574096895.474 request_time 0.001

and then redefine accesslog as

access_log /var/log/nginx/access.log upstreamlog;

log_format goes to http {} section, access_log can be inside location.


Use $upstream_addr and you will get, for example, 127.0.0.1:8000 or unix:/home/my_user/www/my_site/tmp/.unicorn.sock