ПРОЕКТЫ 


  АРХИВ 


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: Re: Много вирту альных серверов



On Tue, 3 Oct 2006, wiz wrote:

В 0.4.х можно так:

map $host $root {
    hostnames;

    .domain1.tld /www/domain1;
    .domain2.tld /www/domain2;
    ...
}

server {
   listen       80 default;
   server_name  main.name  *;

   location ~* \.(ico|jpg|jpeg|gif|png|mp3|avi|mpg|mpeg|txt|html?)$ {
        root   $root/html;
   }

   location / {
        proxy_pass http://127.0.0.1:80;
   }
}

server {
   listen       80;
   server_name  special.site;
   ...


Можно как-нибудь сделать чтобы map мог говорить порты для proxy_pass?

Попробовал так, но ругается:

---------------------------
  map $host $port {
    hostnames;

    default   8000;
    dom.ru  8000;

    sd.d1.ru 8010;
    ssd.sd.d1.ru 8011;

    s2.ru 8020;
    *.s2.ru 8021;
  }

....

      location / {
        proxy_pass http://127.0.0.1:$port/;
        proxy_set_header  Host  $host;
      }
---------------------------

ругается так: invalid port in upstream "127.0.0.1:$port/"

Нужно именно по портам разбрасывать.

     default   127.0.0.1:8000;
     dom.ru    127.0.0.1:8000;
     sd.d1.ru  127.0.0.1:8010;
     ...


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



 




Copyright © Lexa Software, 1996-2009.