Welcome! Log In Create A New Profile

Advanced

Re: Log response header from upstream

Kamil Gorlo
November 07, 2011 05:58AM
OK, thanks - it works.

One more question: I have to use this variables in quotes because
sometimes it resolves to just empty string and there is problem with
parsing such logs.

Why sometimes empty variables ends in single hyphen ("-", this is what
I allways want) in access log and sometimes its just empty string
("")?

--
Kamil Gorlo



On Mon, Nov 7, 2011 at 11:19 AM, Maxim Dounin <mdounin@mdounin.ru> wrote:
> Hello!
>
> On Mon, Nov 07, 2011 at 06:42:09AM +0100, Kamil Gorlo wrote:
>
>> Yeah, I have tried this, but this way non x-accel-redirect requests must be
>> handled in old way which means I have to use 2 fields in access log. Is
>> there any way to use only one field?
>
> E.g. you may use different log format for internal location.
>
> Maxim Dounin
>
>> 06-11-2011 22:15 użytkownik "Maxim Dounin" <mdounin@mdounin.ru> napisał:
>>
>> > 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
>> >
>> > _______________________________________________
>> > nginx mailing list
>> > nginx@nginx.org
>> > http://mailman.nginx.org/mailman/listinfo/nginx
>> >
>
>> _______________________________________________
>> nginx mailing list
>> nginx@nginx.org
>> http://mailman.nginx.org/mailman/listinfo/nginx
>
> _______________________________________________
> nginx mailing list
> nginx@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx

_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx
Subject Author Posted

Log response header from upstream

Kamil Gorlo November 06, 2011 03:50PM

Re: Log response header from upstream

Maxim Dounin November 06, 2011 04:16PM

Re: Log response header from upstream

Kamil Gorlo November 07, 2011 12:44AM

Re: Log response header from upstream

Maxim Dounin November 07, 2011 05:20AM

Re: Log response header from upstream

Kamil Gorlo November 07, 2011 05:58AM

Re: Log response header from upstream

Maxim Dounin November 07, 2011 06:30AM

Re: Log response header from upstream

Kamil Gorlo November 08, 2011 06:20AM

Re: Log response header from upstream

Maxim Dounin November 08, 2011 08:32AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 198
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready