Установка mod_geoip на nic.ru, или как ограничить доступ к сайту «по странам»

Есть некоторый ресурс, который хостится на площадке nic.ru с тарифным планом “302”. Посещаемость у этого ресурса в один прекрасный момент возрасла на столько, что хостинг перестал справляться, и просто умирать. Причиной тому — мизерное количество памяти (256Мб) на самом дорогом тарифе хостинга. Переписка с поддержкой завершилась на их позиции “если Вам мало — покупайте что подороже, у нас как рас есть для вас отличное предложение” (внимание — ответ перефразирован, из-за повышенной злобы). Но у нас есть временно не решенный вопрос — перегрузки на сайте. Проанализировав логи с помощью Apache Logs Viewer было выяснено — львиная доля запросов поступает из-за границы, а ресурс предназначен изначально только для жителей РФ. Что делать?

Первая мысль — рулить при помощью php запросы, благо есть ipgeobase.ru, есть maxmind.com — можно разгуляться, но.. Но php не может работать “прозрачно”. Файлы на ресурсе раздавались по прямым ссылкам, без редиректов каких-либо, и очень важно было это сохранить. Более того, как говорилось выше — памяти у нас дефицит, а запросов от 3 до 10 в секунду — запускать для этого php или ещё что-то подобное — хреновая идея.. Было решено следующее — ставить mod_geoip для Apache1.3 и при помощи правил в .htaccess разрулить кому давать доступ, а кому отказать. Сказано — сделано.

Подробнее под катом