Hello
可以,但是前提是你用了 upstream (ngx_xx_proxy_module) 等模块,那你在 logformat 里使用 $upstream_http_ 去引用变量就没问题, 因为 more_set_headers 工作在 output-header-filter 阶段,修改的变量是 r->headers_out 里的链表,不会影响 r->upstream->headers_in 。下面是样本代码
log_format test $upstream_http_x_foo;
server {
listen 8080;
access_log /data/logs/xx.log test;
more_clear_headers "X-Foo";
location / {
proxy_pass http://127.0.0.1:8081;
}
}
server {
listen 8081;
location / {
content_by_lua_block {
ngx.header.x_foo = "openresty"
ngx.say("openresty")
}
}
}
在 2016年12月12日星期一 UTC+8下午2:01:17,kaitoY Kors写道:
Hi All,
有一个问题想要请教。
现在我们有一个服务端response加入的自定义Header,比如叫做X-Foo,想要在Nginx中使用LogFormat的方式将日志记录进access log中,同时希望对这个header进行隐藏,不返回到最终用户。
请问这样的需求more-header模块是否可以实现?
Thanks
Best Regards