Dram

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

Робот пытается угадать есть ли у вас мобильная версия, через месяцок до него "дойдет" что ее нет и он перестанет шарится туда

В общем делюсь решением, по-моему получилось очень красиво.

В секцию http nginx

geo $whitelist {
default 0;
# боты google
64.68.80.0/21 1;
64.233.160.0/19 1;
66.102.0.0/20 1;
72.14.192.0/18 1;
209.85.128.0/17 1;
216.239.32.0/19 1;
66.249.0.0/16 1;
# боты yandex
77.88.0.0/18 1;
87.250.224.0/19 1;
93.158.0.0/16 1;
95.108.128.0/17 1;
213.180.192.0/19 1;
141.8.0.0/16 1;
130.193.0.0/16 1;
5.255.253.0/24 1;
178.154.149.0/24 1;
# mail.ru
217.69.0.0/16 1;
94.100.0.0/16 1;
# bingbot-msn
40.77.0.0/16 1;
207.46.0.0/16 1;
65.52.0.0/14 1;
157.55.0.0/16 1;
}
#Тут мы даем полный карт картбланш на сканирование ботам поисковиков и тормозим разные парсеры работаюшие по протоколу HTTP/1.1 (если запросы идут не из подсетей поисковиков)
map "$whitelist:$server_protocol" $limit1 {
"1:HTTP/1.0" "";
"1:HTTP/1.1" "";
"1:HTTP/2.0" "";
"0:HTTP/1.1" "$binary_remote_addr";
}
limit_req_zone $limit1 zone=bot11:10m rate=5r/m;

#Тут мы тормозим зверей делающий запросы по HTTP/1.0 Очень много дней просматривал логи из нрмальных по HTTP/1.0 изредка малй ру запрашивает роботс.тхт и все, все остальное сканеры.
map "$whitelist:$server_protocol" $limit2 {
"0:HTTP/1.0" "$binary_remote_addr";
}
limit_req_zone $limit2 zone=bot10:10m rate=1r/m;

#Это обычные юзеры приходящие на https по HTTP/2.0. Так же опытным путем установлено что лимит в 15 запросов в минуту + burst=4 nodelay (на моих сайтах) вообще не тормозит нормальных пользователей
map "$whitelist:$server_protocol" $limit3 {
"0:HTTP/2.0" "$binary_remote_addr";
}
limit_req_zone $limit3 zone=vse:10m rate=15r/m;

В секцию нужного хоста

location / {
limit_req zone=bot11 burst=2 nodelay;
limit_req zone=vse burst=4 nodelay;
limit_req zone=bot10;

Какой-то мутный нструмент с мутным описанием.

Зачем вам лишняя фигня на сервере, лишняя прослойка?

С этого и надо было начинать что у вас там Нгихс стоит

'[umka:
;14851760']Умко не понял, что вы имели в виду под фразой "все варианты последних чисел" :)
Если все варианты двух последних октетов, то "/16".

Это мне и нужно было - спасибо! Я составлял по логам список для geo $whitelist

Ну там указано - 40.77.0.0/16, а че тогда Умка пишет про

Все варианты — это "/0".

Так как правильно указать маску со всеми вариантами последних чисел?

Короче если мне нужно учесть все варианты - ставлю в конце

.0.0/16

или

.0/16

правильно?

vsetuttraf:
Подскажите, пожалуйста, вчера перешли на РТБ с обычного директа.

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

Всего: 6928