Re: вопрос по sever_name

Борис Долгов boris at dolgov.name
Thu Jan 1 19:26:18 MSK 2009


Используйте map или if и set

1 января 2009 г. 18:42 пользователь Arkadiy Kulev <eth at ethaniel.com>написал:

> Здравствуйте, можно ли использовать wildcards в server_name?
>
> К примеру, я использую хосты вида data1.****.ru, data2.****.ru, итд.
> Они все заведены на один сервер, и каждый хост подключен к своей
> папке /data1, /data2, итд.
>
> Так вот, так как таких хостов много, но структура конфига у них
> одинаковая, то мне приходится дублировать вот такие записи:
>
>        server {
>                listen ***:80;
>                server_name data1 ~[0-9].data1.*$ data1.*;
>                access_log   /var/log/nginx.log static;
>                root /data1;
>                location @fallback {
>                        access_log /var/log/nginx.log new;
>                        keepalive_timeout 0; # so when new images are
> requested, the connection is dropped to make downloads faster
>                        proxy_set_header Srcuri $request_uri;
>                        proxy_set_header Host $host;
>                        proxy_set_header Weneed $uri;
>                        proxy_pass   http://backend;
>                }
>                location /albums/ {
>                        rewrite
> ^/albums/([a-z]+)/[0]*([0-9]*)([0-9])-([0-9]*)-([0-9]+)-(.*)\.([a-z]*)$
>  /cache/$1_cache/$6/$5-$6.$7;
>                        rewrite
> ^/albums/([a-z]+)/[0-9]/[0-9]/[0-9]/[0]*([0-9]*)([0-9])/(.*)/cache/[0]*([0-9]*)-(.*)\.([a-z]*)$
> /cache/$1_cache/$6/$5-$6.$7;
>                        rewrite   ^/cache/([a-z]+)_cache//(.*)$
> /cache/$1_cache/src/$2;
>                        if ($uri !~* ^/cache ) {
>                                return   403;
>                        }
>                        error_page       404  =  @fallback;
>                }
>                location /albums_allow/ {
>                        rewrite
> ^/albums_allow/([a-z]+)/([0-9]?)([0-9]?).([a-z]*)$
> /albums_allow/$1/0/$2$3.$4 break;
>                        rewrite
> ^/albums_allow/([a-z]+)/([0-9]*)([0-9])([0-9])([0-9]).([a-z]*)$
> /albums_allow/$1/$3/$2$3$4$5.$6;
>                }
>
>        }
>
>
> Можно ли сделать так, чтобы использовался маска в server_name, например
> server_name data([0-9]+).*;
> которую потом можно было бы подставлять в root
> root /data$1;
>
> И таким образом все эти хосты бы умещались в одной записи?
>
> Arkadiy Kulev                         mailto:eth at ethaniel.com
> +7 495 5070602
> Moscow, Russia
>
>
>


-- 
С уважением, Борис Долгов.
icq 77556665
e-mail boris at dolgov.name
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20090101/8b56219d/attachment.html>


More information about the nginx-ru mailing list