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
|