ПРОЕКТЫ 


  АРХИВ 


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: proxy + referer + useragent



On Sun, Nov 04, 2007 at 08:08:46PM +0200, Alex Vorona wrote:

> Oleg Motienko пишет:
> >Добрый день.
> >
> >Есть ли возможность с помощью nginx "обрезать" referer по определенным
> >условиям, например при наличии в referer определенной
> >последовательности символов?
> >
> >Аналогично и для юзерагент, надо некоторые из них менять на MSIE.
> >
> >  
> через set переменные не меняются, видимо потому что являются 
> переменными  ngx_http_core_module и директива set реврайт-модуля не 
> видит их как существующие, но в то же время и создать не может
> код
> set $http_user_agent "";
> вызывает ошибку
> [emerg] 12903#0: the duplicate "http_user_agent" variable in 
> /etc/nginx/nginx.conf:66

     set   $ref  $http_referer;
     set   $ua   $http_user_agent;

     if ($ref ~ ...) {
         set  $ref  $1;
         proxy_pass   ...
     }

     if ($ua ~ ...) {
         set  $ua  ...MSIE...;
         proxy_pass   ...
     }

     proxy_pass   ...

     proxy_set_header    Refrerer     $ref;
     proxy_set_header    User-Agent   $ua;

Добавление proxy_pass в оба условия обязательно, потому современный
ngx_http_rewrite_module кошмарен.


-- 
Игорь Сысоев
http://sysoev.ru



 




Copyright © Lexa Software, 1996-2009.