nginx打印自定义header

young 1,561 2022-05-19

进入nginx.conf

cd /app/ngx_openresty-1.11.2.4/nginx/
vim conf/nginx.conf

默认情况下,log_format 是被注释掉的,自定义请求头需要写在log_format中,

规则:$http_开头,后面跟上自定义header的名字,如果自定义header的名字中存在-,需将-改为下划线_

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

我这里需要取的数据为token和visitor-id,所以定义了"$http_token""$http_visitor_id"

reload nginx

# 检查配置文件是否编写错误
./sbin/nginx -t
./sbin/nginx -s reload

查询nginx的access.log,发现并没有获取到我们添加的两个head数据。

此时需要将被注释掉的access_log logs/access.log main;配置打开,再reload nginx,此时再次请求,即可看到对应位置上出现了我们自定义的header数据。