You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在NGINX日志中添加proxy_pass值以调试请求转发目标?

在NGINX日志中记录proxy_pass目标地址的配置方法

NGINX没有内置变量直接获取proxy_pass的目标地址,得通过自定义变量+修改日志格式来实现,具体步骤如下:

  • 给每个location配置自定义变量
    在对应的location块里,先用set指令把proxy_pass的目标地址存到一个自定义变量里,再用这个变量作为proxy_pass的参数,比如:

    location /api/superadmin/ {
        set $proxy_target "http://127.0.0.1:9039";
        proxy_pass $proxy_target;
    }
    

    这样每个请求进入这个location时,$proxy_target就会被赋值为对应的转发地址。

  • 修改日志格式,加入自定义变量
    找到NGINX配置文件的http块,修改或新增log_format,把$proxy_target变量添加到日志字段中。比如默认的main格式可以改成:

    log_format main '$remote_addr - $remote_user [$time_local] "$request" '
                    '$status $body_bytes_sent "$http_referer" '
                    '"$http_user_agent" "$proxy_target"';
    

    然后确保你的server块里的access_log指令使用这个格式:

    access_log /var/log/nginx/access.log main;
    
  • 重新加载NGINX配置
    执行命令让配置生效:

    nginx -s reload
    

配置完成后,新的日志就会显示对应的proxy_pass值,示例如下:

119.82.108.182 - - [18/Dec/2023:09:06:37 +0000] "GET /api/superadmin/ HTTP/1.1" 200 52 "-" "PostmanRuntime/7.29.0" "http://127.0.0.1:9039"

内容的提问来源于stack exchange,提问作者Abhinav Prakash

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 16:42:11