ПРОЕКТЫ 


  АРХИВ 


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: directive "env"



On Sat, Aug 20, 2011 at 06:03:32PM -0400, Dmitry Veselov wrote:
> объясните, пожалуйста, принцип
> действия директивы env
> 
> в секции main:
> env domain=192.168.1.123;
> 
> в конфиге домена
> listen $domain:443;
> 
> получается вот что:
> host not found in "$domain:443" of the "listen" directive in
> /etc/nginx/conf.d/domain.conf:6
> 
> что я делаю не так?

Сам nginx не использует переменные среды, то есть, то, что в шелле можно
поставить или посмотреть с помощью команд set/env.
Дело в том, что nginx обуляет всё среду за исключением переменной TZ,
но некоторыми библиотеками можно управлять этими переменными, поэтому
и появилась директива env:

http://sysoev.ru/nginx/docs/ngx_core_module.html#env

Переменные вида $... - это внутренние переменные nginx'а, существующие
во время исполнения запроса. На стадии конфигурации этих переменных нет.

> ps: задача на нескольких серверах
> поддерживать одинаковые конфиги, но с
> адресами ssl это не так просто...

listen $hostname:443;

Нужно заметить, что $hostname в данном случае не обычная переменная
nginx'а, а хак, своего рода макро-подстановка.


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

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.