04.01.2014, в 23:03, Валентин Бартенев <vb...@nginx.com> написал(а):
> On Saturday 04 January 2014 22:09:29 Maxim Dounin wrote: >> Hello! >> >> On Sat, Jan 04, 2014 at 06:12:25PM +0400, Валентин Бартенев wrote: >>> 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; >> >> Это не баг, это фича. Код не умеет обрабатывать добавления >> диапазонов, перекрывающих уже существующие диапазоны, и честно об >> этом сообщает. >> >> При использовании range'ей последующими строками можно >> переопределить часть ранее заданного диапазона адресов. Задать >> диапазон, который бы включал в себя ранее заданные диапазоны - >> нельзя. > > Фича, как известно, это задокументированная бага, а в данном же случае > было не так. =) > > Можно и научить: Нет, учить не надо. Изначально предполагался контроль данных с возможностью последующего оверрайда некоторых диапазонов. -- Igor Sysoev _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru