Страница 1 из 1

mod_geoip2 для apache2

Добавлено: 2007-11-01 20:32:10
ArtemedoN
Здравствуйте, я новичок на этом форуме, так что если что то звиняйте.

У меня есть сайт с тоннами архивов комиксов. Только вот российский трафик должен превышать зарубежный, всвязи с чем я решил сделать фильтрацию по IP. То есть те кто из России будут качать с моего сервера, а кто из других стран, то будут качать с альтернативного, буржуйского и медленного сервера, но те же файлы.

Через хтаксес я смог только (имея список российских айпи) забликоировать доступ к не российским айпи.

Прочитал статью (http://www.lissyara.su/?id=1133)
В статье описывается модуль mod_geoip для апачи1.3

Я сделал инсталяцию модуля mod_geoip2
Поше в https.conf, раскоментировал нужную строку:

Код: Выделить всё

LoadModule geoip_module       libexec/apache22/mod_geoip.so
и добавил строки:

Код: Выделить всё

AddModule mod_geoip.c

<IfModule mod_geoip.c>
##### модуль GeoIP начался
#
# Включаем модуль
GeoIPEnable     On
# Указываем путь к БД (в доках говориться, что
# надо тока если местоположение БД нестандартное, но
# какое считается стандартным - нигде не нашёл - потому
# на всякий случай указываю) - БД инсталлится вместе с
# портом GeoIP.
GeoIPDBFile     /usr/local/share/GeoIP/GeoIP.dat
# Следующая директива устанавливает где применяется модуль
# GeoIP (по крайней мере я так понял) - тока в примечаниях apache (Notes),
# только в переменных окружения (Env) или везде (All - по дефолту):
GeoIPOutput     All
# заставляет проверять БД GeoIP.dat чтобы определить, обновлялась ли БД
# нужно чтобы не перезапускать апач при обновлении БД
GeoIPFlags      CheckCache

###### пример блокировки отдельных стран
# Блокируем косоглазеньких - всё равно ничё не поймут
####################################################################SetEnvIf        GEOIP_COUNTRY_CODE      CN      BlockCountry
# Блокируем америкосов - тоже ничё не поймут, тупые слишком.
####################################################################SetEnvIf        GEOIP_COUNTRY_CODE      US      BlockCountry
# Что мы, собствено, делаем по вышеуказанным правилам,
# это должно быть в директории которую блокируем, т.е. внутри
# <Directory "/usr/local/www/data">
# ...............
#Deny from env=BlockCountry
# </Directory>
</IfModule>
Но! при перезапуске апачи запускаться отказался под причиной что есть ошибка в строке

Код: Выделить всё

AddModule mod_geoip.c
Апачи запустился только тогда когда я убрал

Код: Выделить всё

AddModule mod_geoip.c
и все что я добавил после этого.

Кто может чем помочь и что посоветовать?

Заранее спасибо, Артем.

Re: mod_geoip2 для apache2

Добавлено: 2007-11-01 20:40:09
ArtemedoN
Хочу дать поправку.
Ругается на

Код: Выделить всё

AddModule mod_geoip.c
и на

Код: Выделить всё

GeoIPFlags      CheckCache

Re: mod_geoip2 для apache2

Добавлено: 2007-11-01 20:43:15
ArtemedoN
Без этих двух строк пхп код прилагающийся в статье, выдал мне мою страну.

Как я понял что теперь этот dat файл не будет обновляться? А можно как то самому генерировать этот файл? Потому что список айпи у моего датахостера часто обновляется.

Re: mod_geoip2 для apache2

Добавлено: 2007-11-01 22:27:40
Alex Keda
ну, во втором апаче строка кончающаяся на *.c не нужна.
=========
что каается БД - не озадачиваля обновлением - но там в комментах вроде про полную базу писали.
Однако, не жумаю что пару процентов неверных IP сделают тебе погоду.
Поэтому забей на обновление да и всё.

Re: mod_geoip2 для apache2

Добавлено: 2007-11-01 22:48:24
ArtemedoN
Для сайта с высокой посещаемостью 2 процента это очень много. Это означает что если в день на сайт зашло 500 посетителей, то 10 из них не смогут скачивать архивы.

А нельзя ли как-то самому генерировать этот геоайпи.дат из конкретного списка айпи? например http://noc.citytelecom.ru/rusnet/ (список моего датацентра). Ведь новые АйПи появляются не так уж и редко.

И кто вобще эти geoip.dat обновляет, и есть ли кто-то официальный кто их выпускает? Где быть увереным что я скачал и обновил самый последний файл?

Re: mod_geoip2 для apache2

Добавлено: 2007-11-02 0:15:29
Alex Keda
ну почему не смогут.
ты собирался редиректить к буржуям вроде...
===========
вот честно - не интересовался никогда - кто её и как обновляет...
могу посоветовать сходить на сайт разработчиков - там должно быть описано.
в камментах расказано про расширенную БД - она раз в месяц обновляется.
============
и ещё - чтобы 2% адресов поменяли принадлежность к стране - россия или нет - это не один год должен пройти.
погрешность будет очень маленькая - в основном адреса из унсигнед будут переходить кому-то....

Re: mod_geoip2 для apache2

Добавлено: 2014-01-22 23:47:27
risk94
мобильные операторы пожирают остатки IPv4 - и как следствие вылазят бока с определением принадлежности. Так что актуальность базы - актуальна!