ПРОЕКТЫ 


  АРХИВ 


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: nginx и MAP



On Tue, Aug 05, 2008 at 03:05:07PM +0400, open wrote:

> Игорь, спасибо за быстрый ответ, поясню
> 
> есть 2 табл.
> 
> 1.1.ru/aaa  public
> 2.2.ru/aaa  public
> 3.3.ru/ccc  public
> 
> ну те хостовая часть и урл произвольный
> 
> есть табл соотв внешнего и внутр.
> 
> 1.1.ru/aaa  9.9.lan/vvv/bbb/aaa
> 2.2.ru/aaa  8.8.lan/bbb/aaa
> 3.3.ru/ccc  9.9.lan/ссс
> 
> можно ли это реализовать на MAP,

Можно попровать так:

    map $test           $pass {
        default         NO;
        1.1.ru/aaa/     9.9.lan/vvv/bbb/aaa
        2.2.ru/aaa/     8.8.lan/bbb/aaa;
        3.3.ru/ccc/     9.9.lan/ссс;
    }

    server {

        set  $test  "$host$uri";

        if ($pass = NO) {
            return 403;
        } 

        location / {
            proxy_pass http://$pass;
        }


> и еще Игорь, возможны ли map с произвольным именем или нет?

В первой части должно быть имя существующей переменной, во второй - любое.

> Igor Sysoev wrote:
> >On Mon, Aug 04, 2008 at 03:39:47PM +0400, open wrote:
> >
> >  
> >>Доброе время суток.
> >>Не подскажет ли уважаемое коммунити.
> >>Можно ли в nginx создавать map с произвольным именем и переменной ?
> >>
> >>те есть создать массив,
> >>содержащий внешний УРЛ и соотв. true или false.
> >>и соотв если текущему УРЛ соот true проксировать его на бекэенд, если 
> >>false по показать 403.
> >>    
> >
> >http://sysoev.ru/nginx/docs/http/ngx_http_map_module.html
> >
> >     map $uri  $no {
> >         default   1;
> >         /aaa/     0;
> >         /bbb/     0;
> >         /403/     0;
> >     }
> >
> >     server {
> >
> >         if ($no) {
> >             return 403;
> >         } 
> >
> >         location / {
> >             proxy_pass ...
> >         }
> >
> >         location /403/ {
> >             root  /path/to/403;
> >         }
> >
> >     }
> >
> >
> >  

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



 




Copyright © Lexa Software, 1996-2009.