August 21, 2011 04:56AM
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@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

directive "env"

Dmitry Veselov August 20, 2011 06:03PM

Re: directive "env"

Igor Sysoev August 21, 2011 04:56AM

Re: directive "env"

Dmitry Veselov August 26, 2011 05:17PM

Re: directive "env"

Igor Sysoev August 27, 2011 03:42AM

Re: directive "env"

Dmitry Veselov August 29, 2011 01:47PM

Re: directive "env"

Igor Sysoev August 29, 2011 02:54PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 289
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready