ngx_http_geo_module range overlaps
Валентин Бартенев
vbart at nginx.com
Sat Jan 4 14:12:25 UTC 2014
On Saturday 04 January 2014 15:01:16 Ксения Юрьевна Блащук wrote:
> Добрый день.
> Возник вопрос по модулю ngx_http_geo_module. Почему-то нельзя внести
> пересекающиеся диапазоны адресов. В документации:
>
> A value of the most specific match is used. For example, for the 127.0.0.1
> address the value "RU" will be chosen, not "US".
>
> Example with ranges:
>
> geo $country {
> ranges;
> default ZZ;
> 127.0.0.0-127.0.0.0 US;
> 127.0.0.1-127.0.0.1 RU;
> 127.0.0.1-127.0.0.255 US;
> 10.1.0.0-10.1.255.255 RU;
> 192.168.1.0-192.168.1.255 UK;
> }
>
> Пытаюсь воспроизвести этот пример:
>
> /etc/init.d/nginx reload
> * Checking nginx' configuration ...
> nginx: [emerg] range "127.0.0.1-127.0.0.255" overlaps "127.0.0.1-127.0.0.1"
> in /etc/nginx/sites/test-geo.conf:6
> nginx: configuration file /etc/nginx/nginx.conf test failed
> nginx: [emerg] range "127.0.0.1-127.0.0.255" overlaps "127.0.0.1-127.0.0.1"
> in /etc/nginx/sites/test-geo.conf:6
> nginx: configuration file /etc/nginx/nginx.conf test failed
>
[..]
>
> В чем может быть дело?
> Спасибо.
Это баг в проверке конфигурации.
Чтобы его обойти можете поменять местами так чтобы вначале шел больший
диапазон:
127.0.0.1-127.0.0.255 US;
127.0.0.1-127.0.0.1 RU;
--
Валентин Бартенев
Подробная информация о списке рассылки nginx-ru