Re: Много виртуальных серверов

Igor Sysoev is at rambler-co.ru
Tue Oct 3 08:11:44 MSD 2006


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





More information about the nginx-ru mailing list