ПРОЕКТЫ 


  АРХИВ 


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: вопрос по sever_name



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

1 января 2009 г. 18:42 пользователь Arkadiy Kulev <eth@xxxxxxxxxxxx> написал:
Здравствуйте, можно ли использовать 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@xxxxxxxxxxxx
+7 495 5070602
Moscow, Russia





--
С уважением, Борис Долгов.
icq 77556665
e-mail boris@xxxxxxxxxxx


 




Copyright © Lexa Software, 1996-2009.