Все сервисы Хабра
Сообщество IT-специалистов
Ответы на любые вопросы об IT
Профессиональное развитие в IT
Закрыть
Задать вопрос
Drammm
0
вклад
5
вопросов
2
ответа
0%
решений
Комментарии
Информация
Ответы
Вопросы
Комментарии
Подписки
Нравится
Сочетание $whitelist $limit и $server_protocol в NGINX?
Drammm
@Drammm
Автор вопроса
Кажется решил сам задачу, вот как:
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;
map "$whitelist:$server_protocol" $limit2 {
"0:HTTP/1.0" "$binary_remote_addr";
}
limit_req_zone $limit2 zone=bot10:10m rate=1r/m;
map "$whitelist:$server_protocol" $limit3 {
"0:HTTP/2.0" "$binary_remote_addr";
}
limit_req_zone $limit3 zone=vse:10m rate=15r/m;
Написано
более трёх лет назад
Сочетание $whitelist $limit и $server_protocol в NGINX?
Drammm
@Drammm
Автор вопроса
Мне тут мысль пришла. А можно вот так?:
map "$whitelist:$server_protocol" $bot {
"1:HTTP/1.0" "";
"1:HTTP/1.1" "";
"1:HTTP/2.0" "";
"0:HTTP/1.1" "$binary_remote_addr zone=$zon1:10m rate=5r/m";
"0:HTTP/1.0" "$binary_remote_addr zone=$zon2:10m rate=1r/m";
"0:HTTP/2.0" "$binary_remote_addr zone=$zon3:10m rate=15r/m";
}
limit_req_zone $bot;
Написано
более трёх лет назад
Вопрос по map в Nginx?
Drammm
@Drammm
Автор вопроса
Так не работает
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 "$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;
map "$whitelist:$server_protocol" $limit2 {
"0:HTTP/1.0" "$binary_remote_addr";
}
limit_req_zone $limit2 zone=bot10:10m rate=1r/m;
map "$whitelist:$server_protocol" $limit3 {
"0:HTTP/2.0" "$binary_remote_addr";
}
limit_req_zone $limit3 zone=vse:10m rate=15r/m;