Log response header from upstream
Maxim Dounin
mdounin at mdounin.ru
Sun Nov 6 21:15:04 UTC 2011
Hello!
On Sun, Nov 06, 2011 at 09:48:08PM +0100, Kamil Gorlo wrote:
> Hi,
>
> I have some problem with access log combined with X-Accel-Redirect
> requests. In my case I have Nginx set up as load-balancer to group of
> application servers. These servers return some special header in every
> request - I need to log value of this special header (lets call it
> 'X-user') in access log - also I do not want to expose this header to
> the world (proxy_hide_header helps here).
>
> Everything seems to work, but when there is X-Accel-Redirect request I
> have empty field in access log because of subrequest
> ($upstream_http_x_special is cleared because of subrequest, if I
> understand this mechanism correctly). How to make this work for every
> request?
>
> Here is my config:
>
> http {
> log_format extended '$request $upstream_http_x_user';
> access_log /var/log/nginx/access.log extended;
>
> ...
>
> server {
> listen 80;
>
> location / {
> proxy_pass http://backend;
> proxy_hide_header X-User;
> }
>
> location /files {
> internal;
> proxy_pass http://filestore;
Workaround is to use
set $x_user $upstream_http_x_user;
here (and to log $x_user instead).
> }
> }
> }
Maxim Dounin
More information about the nginx
mailing list