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

wiz aenor.realm at gmail.com
Tue Oct 3 00:35:04 MSD 2006


> В 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/"

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


More information about the nginx-ru mailing list