Dram

Рейтинг
1115
Регистрация
28.06.2008

Роза умирает уже дня 3-4... по крайне мере у меня

Вот так не работает:

map $server_protocol $limit {
default 0;
"HTTP/1.0" $binary_remote_addr;
"HTTP/1.1" "";
"HTTP/2.0" "";
}
limit_req_zone $limit zone=bot:10m rate=1r/m;

ВОт так получаю сам 503

map $server_protocol $limit {
default 0;
"HTTP/1.0" $binary_remote_addr;
"HTTP/1.1" "2";
"HTTP/2.0" "3";
}
limit_req_zone $limit zone=bot:10m rate=1r/m;

попробовал так

map $server_protocol $limit {
default 0;
"HTTP/1.0" 1;
}
limit_req_zone $limit zone=bot:10m rate=1r/m;

и получил сам 503 ошибку

в логах с моего айпи первый запрос

7*.1*2.7*.2** - - [25/Dec/2016:22:19:19 +0300] "GET / HTTP/1.1" 301

второй

7*.1*2.7*.2** - - [25/Dec/2016:22:19:19 +0300] "GET / HTTP/2.0" 503

Нифига не понимаю короч

Кстати код что я писал выше нерабочий.

у меня есть еще одна директива

limit_req_zone $binary_remote_addr zone=one:10m rate=2r/s;
limit_req zone=one burst=3 nodelay;

Вот она и отшибала иногда ботов

а вот этот код

map $server_protocol $limit {
"HTTP/1.0" $binary_remote_addr;
default "";
}
limit_req_zone $limit zone=bot:10m rate=1r/m;

Позволяет делать запросы чаще 1 раза в минуту с 1 айпи

Решил я дальше поэксперементировать с map, тестировать решил на бесполезном бинге

добавил еще один мап

map $server_protocol $limit {
"HTTP/1.0" $binary_remote_addr;
default "";
}

map "$server_protocol:$http_user_agent" $limit {
"HTTP/1.1:bingbot" $binary_remote_addr;
default "";
}

limit_req_zone $limit zone=bot:10m rate=1r/m;

то что добавил выделил жирным. Смотрю по логам бот бинга не тормозится. Где ошибка?

Задача не затормозить бинга (он тестовая жертва), а научиться добавлять несколько условий в мап, сейчас пробую совместить

$server_protocol и $http_user_agent

В http

map $server_protocol $limit {
"HTTP/1.0" $binary_remote_addr;
default "";
}
limit_req_zone $limit zone=bot:10m rate=1r/m;

в сервер

limit_req zone=bot burst=2;

Прошло 2 часа, просмотрел логи - отсеивает ботов.

Одно не понятно - не всегда отшибает их 503 ошибкой иногда 499. Что это за код не понял

Да, код работает, Андрейска спасибо за пример!

nikolaevets:
+ сегодня/сми/роза

Они все померли :))) тк что пофигу СМИ или роза, искать нужно по трешу

умер/умерла/погиб/погибла/скончался/скончалась

Проблема в том что я близко не кодер, и с трудом перевариваю примеры по ссылкам.

так правильно?

map $server_protocol $limit {
"HTTP/1.0" $binary_remote_addr;
default "";
}

limit_req_zone $limit zone=one:10m rate=30r/m;
limit_req zone=one burst=3;

Да, персонажи начали меняться, но лавочку с транслитом вроде закрыли.

Сейчас наибольее актуально искать так:

умер/умерла/погиб/погибла/скончался/скончалась

Всего: 6927