ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Запись в лог значения по ля header после x-accel-redirect



Hello!

On Sat, Mar 20, 2010 at 05:38:12PM -0400, fortrap wrote:

> Вечер добрый, столкнулся с такой проблемой.
> 
> nginx-0.7.64
> 
> log_format      traffic '$remote_addr $sent_http_userid $sent_http_key'; 
> 
> location / {
>   root   /var/www; 
>   index  index.php;
>   rewrite ^/download/(.*) /d.php?path=$1 last;
> }
> 
> location ~ \.php$ {
>   fastcgi_pass    127.0.0.1:9000;
>   ...
> }
> 
> location /protected {
>   root /var/www/files;
>   internal;
> }
> 
> d.php
> <?php
> $u = rand(1000, 1100);
> $k = md5(rand(1,10));
> $path = $_GET["path"];
> header("userid: $u");
> header("key: $k");
> ?> 
> 
> Вот в таком виде все работает как и ожидалось, в traffic лог 
> попадают значения userid и key. но стоит только добавить 
> непосредственно отдачу файла 
> 
> header("Content-disposition: attachment; filename=".$path);
> header("X-Accel-Redirect: /protected/". $path);
> 
> userid и key в лог не пишутся, вернее не передаются.
> 
> Научите как быть.

При перенаправлении по X-Accel-Redirect из исходного ответа 
берутся только заголовки Content-Type, Set-Cookie, P3P, 
Content-Disposition, Cache-Control, Expires, Accept-Ranges.  Если 
нужно передавать что-то ещё - то надо это делать явно, как-то так:


    location /protected {
        internal;
        root ...;
        add_header userid $upstream_http_userid;
        add_header key    $upstream_http_key;
    }

Maxim Dounin

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.