÷ÏÐÒÏÓ ÐÏ ngx_http_geo_module É ÒÅÇÉÓÔÒÕ ÓÒÁ×ÎÅÎÉÑ

Vadim A. Umanski umanski at ext.ru
Fri Aug 31 13:47:33 MSD 2007


Здравствуйте, Igor.

Вы писали 31 августа 2007 г., 13:31:52:

IS> On Fri, Aug 31, 2007 at 01:24:37PM +0400, Vadim A. Umanski wrote:

>> IS> On Fri, Aug 31, 2007 at 11:13:34AM +0400, Vadim A. Umanski wrote:
>> 
>> >> >> Вопрос.
>> >> >> 1. Сравнение в if будет case-sensitive ?
>> >> AV> да
>> >> >> 2. Если да, то отчего пример конфига маленькими буквами?
>> >> AV> потому что ниже по 
>> >> AV> http://sysoev.ru/nginx/docs/http/ngx_http_geo_module.html#example есть
>> >> AV> В файле conf/geo.conf могут такие строки:
>> >> AV> 10.2.0.0/16      ru;
>> >> AV> 192.168.2.0/24   ru;
>> >> >> 3. Не стоит ли упомянуть в документации, что на регистр символов надо
>> >> >>    обращать внимание?
>> >> AV> Насколько я вижу на 
>> >> AV> http://sysoev.ru/nginx/docs/http/ngx_http_rewrite_module.html#if упомянуто
>> >> AV> проверка переменной с помощью регулярного выражения без учёта регистра символов
>> >> AV> ? "~*" и с учётом ? "~"
>> >> 
>> >> if ($country !~* "ru") {
>> >>                         return   403;
>> >> }
>> >> 
>> >> Да, такая конструкция благополучно срабатывает. Очень корректно
>> >> получается, можно писать родную страну как в голову взбредет и не
>> >> беспокоиться. ;-)
>> 
>> IS> Только нужно учитывать, что регулярные выражение медленее, чем простое
>> IS> сранение строк. В данном же случае для проверки страны лучше использовать
>> IS> такое:
>> 
>> IS>      default          1;
>> IS>      192.168.1.0/24   0;  # ru
>> IS>      10.2.0.0/16      0;  # ru
>> 
>> 
>> IS>      if ($abroad) {
>> IS>          return 403;
>> IS>      }
>> 
>> Тут я что-то недогоняю. Как сюда ложится подключенная мной база
>> GeoIP, сконвертированная контриб-скриптом? Там табун сеток,
>> обозначенных как  RU. Мне они нужны. А все остальные - не нужны. Как
>> это все ложится в 0 и 1 ?

IS> RU - 0, всё остальное просто выкидывается.

Т.е. базу надо опять несложным скриптом прогнать, чтоб получить этот
0, а остальное выкинуть?



   SY                       Vadim A. Umanski
                            System Administrator
                            InterNet Services Dept., IP Network Div.
                            Akado (Comcor-TV), Moscow
   <Work>                   mailto:umanski at ext.ru mailto:VUmanski at comcor-tv.ru
   <Private>                mailto:umanski at panferova.net.ru
   phone:                   (+7 495) 737 51 79
   cell:                    (+7 916) 692 67 89






More information about the nginx-ru mailing list