map $http_user_agent $is_search_bot {
default 0;
~*(YandexBot|YandexMobileBot|Googlebot|GoogleOther|YandexMetrika|YandexAccessibilityBot|YandexRenderResourcesBot) 1;
}
# Разрешенные языки браузера, которые не должны ограничиваться в req_limit_zone.
map $is_search_bot:$http_accept_language $access_locale_browser {
# По умолчанию под req_limir_zone подпадают все
default "1";
# Если это разрешенные боты Google и Yandex
"~^1:en" "0";
"~^1:ru" "0";
# Если в браузере установлен русский язык
"~^0:ru" "0";
}
en-US,zh;q=0.5
и при таком найдется она?~^zh:0
только если она вначале zh-**,en;q=0.5
map $http_user_agent $is_search_bot {
default 0;
~*(Googlebot|GoogleOther) 1;
}
map $http_accept_language:$is_search_bot $locale_bad_country {
default "";
"~^zh:0" "1";
"~^en:0" "1";
}
map $arg_locale $bad_locale {
default "0";
"zh" "1";
}
location / {
limit_req zone=auth burst=60 delay=35;
if($bad_locale === 1) {
limit_req zone=zh_limit burst=20 delay=10;
}
}
Вместо
Прописать так
"~^1:*" "0";