Nginx 負載均衡多台上游服務器時,如何快速確認某個具體請求被轉發到了哪台機器?
upstream demo {
server 127.0.0.1:8781;
server 127.0.0.1:8087;
}
server {
listen 80;
server_name demo.testcas.com;
location / {
# 關鍵配置:將上游地址與狀態碼注入響應頭
add_header backendIP $upstream_addr;
add_header backendCode $upstream_status;
proxy_pass https://demo;
}
}
nginx -s reloadbackendIP(上游 IP:端口)與 backendCode(上游 HTTP 狀態碼)
$upstream_addr:實際處理請求的上游服務器地址(IP:Port)$upstream_status:上游服務器返回的 HTTP 狀態碼$upstream_response_time)無需修改應用代碼,純運維層面即可實現請求鏈路可視化,極大提升排障效率。