Ребяты, нужна хелпа.
В nginx стоит защита limit_req_zone по установленному языку в браузере $http_accept_language
Вот пример
map $http_accept_language $locale_bad_country {
        default "";
        "~^zh"  "1";
        "~^en"  "1";
    }
limit_req_zone $locale_bad_country zone=external:10m rate=1000r/m;
limit_req zone=external burst=1000 delay=500;
Все прекрасно работает и так как надо, проблема в том что фильтруется и google bot у которого айпишники 66.249.70.0/24
Реально ли игнорить правила для гугл бота?
Как я понимаю нужно создать еще один map для переопределения locale_bad_country уже на основе IP адреса клиента? Я просто не знаю будет ли это работать и как правильно...
Сугубо по моей логике хочется сделать так
map $http_accept_language $locale_bad_country {
        default "";
        "~^zh"  "1";
        "~^en"  "1";
    }
map $binary_remote_addr $locale_bad_country {
        default "";
        "66.249.70.*"  "";
    }
Но
1. Возможно ли переопределение переменной таким образом я не знаю
2. По логике так как во втором map default "", то первый map вообще работать не будет (по факту)
В общем моя логика как всегда не работает и быть может кто нибудь подскажет как осуществить задуманное и возможно ли это вообще?
Или делать уже как то так?
map $http_accept_language:$binary_remote_addr $locale_bad_country {
        default "";
        "~^zh:*"  "1";
        "~^en:*"  "1";
        "~^en:66.249.70.*"  "";
    }