Re: include и конфиге в зависимости от IP клиент (geoip)

Maxim Dounin mdounin at mdounin.ru
Tue Dec 23 14:37:53 UTC 2014


Hello!

On Tue, Dec 23, 2014 at 07:12:24AM -0500, siroco wrote:

> Привет,
> 
> Есть необходимость включать  или не включать кучу редиректов в зависимости
> от того, откуда приходит юзер.
> 
> Переменную $myclient я могу выставить в какое-то значение в nginx.conf:
> 
>         geo $extclient {
>                 default external;
>                 123.123.123.123/32 internal;
>         }
> 
> Но сделать conditional include не получается:
> 
> if ($extlient = external) {
>               include conf.d/extclient.redirects.include;
> }
> 
> .. "nginx configtest" ругается.
> 
> 
> Как правильно решать подобную проблема?

Проще всего вынести само условие if(...) во внешний файл, и 
включать этот файл.

Заодно это позволит лучше осознать, что никаких "conditional 
include" в nginx'е не сущетсвует.  А директива include выполняется 
безусловно при чтении конфигурации и лишь говорит о том, что в 
данном месте при загрузке конфигурации следует прочитать какой-то 
другой файл.

-- 
Maxim Dounin
http://nginx.org/



Подробная информация о списке рассылки nginx-ru