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

后端 未结 2 1980
慢半拍i
慢半拍i 2020-12-08 00:43

We use Nginx as a reverse proxy with this setup:

upstream frontends {
  server 127.0.0.1:8000;
  server 127.0.0.1:8001;
  server 127.0.0.1:8002;
  [...]
}

s         


        
相关标签:
2条回答
  • 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.

    0 讨论(0)
  • 2020-12-08 01:26

    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

    0 讨论(0)
提交回复
热议问题