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
|