Header modification with X-Accel-Redirect
Brice Leroy
bbrriiccee at gmail.com
Wed May 27 02:26:58 MSD 2009
Thanks Denis ! It's working.
NGinx rocks !
On May 20, 2009, at 9:59 PM, Denis F. Latypoff wrote:
> Hello Brice,
>
> Thursday, May 21, 2009, 7:03:38 AM, you wrote:
>
>> 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 ?
>
> location /media/ {
> add_header clip $upstream_http_clip;
> add_header method $upstream_http_method;
> alias /home/kev/clipbuilder/media/;
> internal;
> }
>
>> 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;
>>> }
>>> }
>>>
>
>
>
>
>> __________ NOD32 4090 (20090520) Information __________
>
>> This message was checked by NOD32 antivirus system.
>> http://www.eset.com
>
>
>
> --
> Best regards,
> Denis mailto:denis at gostats.ru
>
>
More information about the nginx
mailing list