Перейти к публикации

Рекомендованные сообщения

Паразиты намерено долбят страницы результата поиска, тем самым загружают мне CPU на сервере.

Кто знает как правильно составить ограничение на количество запросов для параметров URL в локейшенах:

site.com/index.php?story=слово&do=search&subaction=search
site.com/index.php?do=search&subaction=search&search_start=2&full_search=0&story=слово

тоесть для /index.php?story и /index.php?do=search

 

Один общий limit_req на весь сайт стоит и нормально работает, но необходимо еще отдельно с другими лимитами сделать для поиска. Всю голову поломал никак не получается для параметров URL задать. 

Пробовал и путем создания map с  условиями:
 

if ($args ~ ^story=){
limit_req zone=search_zone burst=5 nodelay;
}

Но оказывается limit_req внутри if конструкции не поддерживается.

Пробовал и с регулярным выражением в локейшене

http {
    limit_req_zone $binary_remote_addr zone=search_zone:10m rate=1r/s;
}

location ~* /index\.php.*(\?|&)story= {
limit_req zone=search_zone burst=5 nodelay;
}

Но тоже безрезультатно, не хочет работать. Либо я плохо разбираюсь в этом деле. Может у кого был опыт, поделитесь мыслью или готовой наработкой. Наверняка кто-то тоже сталкивался с таким нюансом. Поисковые страницы реально самое слабое место. К слову, банить адреса флудеров тоже бесполезно, у них динамика, либо прокси. А лимиты покрайней мере будут значительно экономить ресурсы сервера.

Изменено пользователем sergoxa
Ссылка на сообщение
Поделиться на других сайтах

Используйте fail2ban и по логам сервера смотрите кто в определенный промежуток времени часто искал того сразу в бан сервера на несколько часов, это намного эффективнее limit_req

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...