Вот мое решение:
В секцию нужного хоста
и вот эти лимиты (подбираем под свой сайт)
Код выше полностью НЕ ограничивает боты поисковиков
Если запрос не из подсети поисковика и по протоколу HTTP/1.0 - разрыв сосединения (444 ошибка)
Если запрос не из подсети поисковика и по протоколу HTTP/1.1 - то не чаще 7 запросов в минуту (rate=7r/m;) Тут важно не всунуть ограничение в локаейш картинок ибо они намного чаще запрашиваются.
Если запрос не из подсети поисковика и по протоколу HTTP/2.0 - то не чаще 25 запросов в минуту (rate=25r/m)
Важно - у меня сайты на https + http2, и лимиты подобраны после долгого мониторинга логов на предмет 503 ошибок.
А так код работает, 99% ботов идут лесом.
Каждый день проверяю под вечер логи такой командой
И проверяю что за IP попали в фильтр. За 2 месяца так выявил еще 2 подсети реальных ботов Гугла - добавил их в белый список.
Скорость я ограничил с помощью limit_req_zone, я хорошо понял как она работает, многократно проверил - все ок.
теперь хочу добавить сверху лимит на не более 1000 подключений с дного IP в день (опять же я не буду его использовать слепо, а только для подключений не входящих в белый список. Белый список формирую используя map и geo $whitelist)
Очень прошу - как описать не более 1000 подключений с 1 айпи в 24 часа?
Понятно, можно ли указывать эту единицу времени? Можно ли лимитировать кол-во подключений в день? Или limit_conn_zone лимитирует только подключение ОДНОМОМЕНТНО ?
В rate можно указывать только секунды и минуты? Часыц можно?
В идеале я хочу настроить ограничение на кол-во подключений в день---------- Добавлено 20.01.2017 в 21:23 ----------
Оба на - а мнения то разошлись :))))
Так кто точно скажет как ОНО РАБОТАЕТ?
Если кратко - Вы "ни в зуб ногой", заплатите тем кто в теме.
Тут ни слова про "минуту" http://nginx.org/ru/docs/http/ngx_http_limit_conn_module.html
Одномоментно?
Т.е. в 1 сек. ну может быть более limit_conn limits ?
Все в чем сомневаетесь - в бан
Это первое, что я прочел, то что не понял описал в 1 посте.