Re: Переменное имя для proxy_pass

Oleg Motienko motienko at gmail.com
Thu Sep 20 00:35:25 MSD 2007


Скрипт - генератор конфига не пойдет? Собственно говоря, у меня такой
и работает, причем имена серверов берутся из sql.

On 9/19/07, Sukhachev Andrew <andrew at comby.com> wrote:
> Добрый день.
>
>   Есть следующая ситуация.
>
>   Есть куча несколько бакэндов (серверов):
>     srv1.company-internal.com
>     ...
>     srvN.company-internal.com
>
>   Есть 1 кэширующий прокси, который обслуживает домены:
>     srv1.company.com
>     ...
>     srvN.company.com
>
>   Смысл такой, что прокси кэширует запросы к бакэндам (proxy_store) по куче разных location'ов.
>   Проблема в том, что бакэнды имеют разные IP и каждый запрос на публичный домен надо отправлять на
>   соответствующий private домен. То есть хочется на прокси сделать что-то вроде:
>   server {
>     server_name       srv1.company.com .. srvN.company.com;
>     location1 {
>        ...
>        error_page 404 = @fetch;
>     }
>     ...
>     locationN {
>        ...
>        error_page 404 = @fetch;
>     }
>     location @fetch {
>        internal;
>        if ($host ~ "^(.*).company.com$") {
>           set     $h      $1.company-internal.com;
>        }
>        proxy_pass                      http://$h;
>        # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>        proxy_store                     /path/$host$request_uri;
>        proxy_store_access              user:rw  group:rw  all:r;
>     }
>   }
>
>   Вопрос - как это лучше сделать? Делать "server {}" для каждого домена очень не хочется...
>
> --
> Best regards,
>  Sukhachev Andrew
>
>
>


-- 
Regards,
Oleg


More information about the nginx-ru mailing list