proxy + referer + useragent

Igor Sysoev is at rambler-co.ru
Sun Nov 4 21:18:33 MSK 2007


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





More information about the nginx-ru mailing list