当nginx有多个上游时,如何跟踪上游?

当nginx有多个上游时,如何跟踪上游?,nginx,puma,Nginx,Puma,因此,当用户点击/about时,服务器将重定向到上游app\u server\u new 现在我有了一个puma的development.log文件。但这并不能说明重定向到了哪个上游。有没有什么方法可以让我知道重定向是否真的有效,比如记录上游的点击次数 您可以为此定义自定义日志。 使用您选择的字段: upstream app_server { server unix: server1 } upstream app_server_new { server unix: server2 }

因此,当用户点击
/about
时,服务器将重定向到上游
app\u server\u new


现在我有了一个puma的
development.log
文件。但这并不能说明重定向到了哪个上游。有没有什么方法可以让我知道重定向是否真的有效,比如记录上游的点击次数

您可以为此定义自定义日志。 使用您选择的字段:

upstream app_server {
  server unix: server1
}

upstream app_server_new {
  server unix: server2
}

server {
  location ^~ /about {
    proxy_pass http://app_server_new
  }
  location @app {
    proxy_pass http://app_server
  }
}
日志格式上游“$remote\u addr-$upstream\u addr-$request-$upstream\u response\u time-$request\u time”; 然后在特定于您需求的上下文中使用它:

log_format upstream '$remote_addr - $upstream_addr - $request - $upstream_response_time - $request_time'; 访问\u log/var/log/nginx/upstream.log upstream; 更多信息可在此处找到:


这几乎就是我所需要的。谢谢有什么方法可以让我知道上游的名字吗?你可以在日志中找到上游的地址和端口。够了,我用了$proxy\u主机。它给出了处理请求的上游服务器的名称。 access_log /var/log/nginx/upstream.log upstream;