Header modification with X-Accel-Redirect

Brice Leroy bbrriiccee at gmail.com
Thu May 21 04:03:38 MSD 2009


My previous email was maybe unclear. I'm trying to log the bandwidth  
usage per clip I serve. because every clip are static file, I'm using  
x-accel-redirect to serve them. So I'm adding clip value to the header  
to log it using nginx with body_bytes_sent so I can know how much  
bandwidth has been used for this clip. But it seams that using  x- 
accel-redirect doesn't allow header modification because my log don't  
get the information. But if I remove the x-accel-redirect (of course  
in this case I don't get the file) the clip value injected in the  
header appear in my logs ! Any idea to make this value appear when I  
use X-Accel-Redirect ?

Thanks :)

Brice

Begin forwarded message:

> From: Brice Leroy <bbrriiccee at gmail.com>
> Date: May 20, 2009 4:41:43 PM PDT
> To: nginx at sysoev.ru
> Subject: Header modification with X-Accel-Redirect
>
> Hi,
>  I'm using X-Accel-Redirect and I would like to log modified header  
> information at the same time. But when X-Accel-Redirect clear   
> return his own header , so I can never get the clip variable :(
>
> - Brice
>
> My Django view
> ...
>   response = HttpResponse(status=200)
>    response['Cache-Control'] = 'no-cache'
>    response['Pragma'] = 'no-cache'
>    response['Content-Type'] = ""
>    response['clip'] = one_time_access.clip.id
>    response['method'] = 'one_time_access_view'
>    response['X-Accel-Redirect'] = url
>    return response
>
> and my nginx configuration:
>
> server {
>    listen   80;
>    server_name xxx.yyy.com;
> 	
>    log_format main
> 		'[$time_local]\n'
>    		'ip=$remote_addr\n'
>    		'request="$request"\n'
>    		'bytes=$body_bytes_sent\n'
> 		'clipid=$sent_http_clip\n'
> 		'method=$sent_http_method\n'
> 		'"$sent_http_pragma"=$sent_http_pragma'
> 		'_EOE_\n';
>
>    access_log  /home/kev/logs/access.log main;
>    error_log  /home/kev/logs/error.log;
>
>    #add_header           Front-End-Https    on;
>
>    location / {
>        proxy_pass http://127.0.0.1:8899/;
>        #proxy_set_header X-Forwarded-Protocol "https";
>        proxy_set_header  Host       $host;
>        proxy_set_header  X-Real-IP  $remote_addr;
>        client_max_body_size       3000m;
> 	}
>
>    location /media/ {
>        alias /home/kev/clipbuilder/media/;
> 	internal;
>    }
>
>    location /static/ {
>        alias /home/kev/clipbuilder/static/;
>    }
>
>    location /adminmedia/ {
>        alias /usr/local/src/django-trunk/django/contrib/admin/media/;
>    }
>
>    error_page   500 502 503 504  /50x.html;
>    location = /50x.html {
> 	root   /var/www/nginx-default;
>    }
> }
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx/attachments/20090520/6c623479/attachment.html>


More information about the nginx mailing list