[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: nginx: однотипные сервера



>> имеется порядка 5 однотипных серверов. у которых конфиг nginx
>> отличается  только
>>     1. путями к корню проекта
>>     2. хост-именами серверов
>> 
>> иногда встает задача "добавить роут с правилом". приходится это делать
>> для всех серверов.
>> 
>> хотелось бы как-то упростить.
>> 
>> например вынести общую часть в отдельный файл и как-то поместив
>> переменные части в переменные.
>> 
>> но вопрос в том что nginx (вроде бы) не поддерживает использование
>> пользовательских переменных в конфиг-файле.
>> 
>> какой бы велосипед применить в данном случае?

> А пример конфига с выделенными постоянными и переменными частями можно?

ну например такой (в реале конфиг из 23 локейшенов)

server_name abc.ru;

location / {
    root /path/to/project/public;
}

location /trs/ {
    rewrite             ^(/trs)(/.*)$   $2 break;
    proxy_pass          http://backend1;
    proxy_set_header    Host            $host;
    proxy_set_header    X-Real-IP       $remote_addr;
    proxy_set_header    X-Forwarded-For
    $proxy_add_x_forwarded_for;
    auth_basic          "abc auth";
    auth_basic_user_file /path/to/project/config/htpasswd/rpc.htpasswd;
}


и еще десяток роутов, в которых упоминается:
    - /path/to/project/
    - abc.ru
    - hostname

вот если бы эти части сплавить в какие-то переменные, то можно было бы
инклюд сделать

> Я примерно похожее реализовывал через include.

-- 

. ''`.                               Dmitry E. Oboukhov
: :’  :   email: unera@debian.org jabber://UNera@uvw.ru
`. `~’              GPGKey: 1024D / F8E26537 2006-11-21
  `- 1B23 D4F8 8EC0 D902 0555  E438 AB8C 00CF F8E2 6537

Attachment: signature.asc
Description: Digital signature


Reply to: