ПРОЕКТЫ 


  АРХИВ 


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: ngx_http_geo_module range overlaps



04.01.2014, в 23:03, Валентин Бартенев <vbart@xxxxxxxxx> написал(а):

> 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@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.