← Документация WAF / rate-limiting-rules
Примеры правил ограничения скорости
В примерах ниже приведены образцы конфигураций правил ограничения скорости.
Пример 1
Следующие правило ограничения частоты запросов ограничивает частоту входящих запросов из США, направленных на страницу входа, за исключением одного разрешённого IP-адреса.
Когда входящие запросы совпадают:
Если вы используете редактор выражений:
(http.request.uri.path eq "/login" and ip.src.country eq "US" and ip.src ne 192.0.0.1)
С теми же характеристиками:
- IP
- ID дата-центра (включено по умолчанию в дашборде, но не отображается)
Пример 2
Следующие правило ограничения частоты запросов ограничивает частоту входящих запросов с заданным базовым путём URI, увеличивая счётчик по IP-адресу и предоставленному ключу API.
Когда входящие запросы совпадают:
Если вы используете редактор выражений:
(http.request.uri.path contains "/product" and http.request.method eq "POST")
С теми же характеристиками:
- IP
- Значение заголовка >
x-api-key
- ID дата-центра (включено по умолчанию в дашборде, но не отображается)
Пример 3
Следующие правило ограничения частоты запросов ограничивает частоту запросов, направленных на несколько путей URI на двух хостах, исключая известных ботов. Частота запросов рассчитывается на основе IP-адреса и User-Agent значения.
Когда входящие запросы совпадают:
(http.request.uri.path eq "/store" or http.request.uri.path eq "/prices") and (http.host eq "mystore1.com" or http.host eq "mystore2.com") and not cf.client.bot
С теми же характеристиками:
- IP
- Значение заголовка >
user-agent
- ID дата-центра (включено по умолчанию в дашборде, но не отображается)
Пример 4
Следующие правило ограничения частоты запросов выполняет ограничение частоты запросов на основе сложности. Правило учитывает my-score HTTP-заголовок ответа, предоставляемый исходным сервером, для расчета общего показателя сложности клиента с указанным API-ключом.
Счётчик с общим показателем обновляется, когда правило ограничения скорости совпадает с выражение для подсчёта (в этом случае совпадает с выражением правила, так как выражение для подсчёта не было указано). Когда это суммарное значение становится больше, чем 400 в течение одной минуты, все последующие запросы этого клиента будут заблокированы на 10 минут.
Когда входящие запросы совпадают:
Если вы используете редактор выражений:
(http.request.uri.path wildcard "/graphql/*")
С теми же характеристиками:
- Значение заголовка >
x-api-key
- ID дата-центра (включено по умолчанию в дашборде, но не отображается)
Когда скорость превышает: На основе сложности
- Оценка за период:
400
- Период: 1 минута
- Имя заголовка ответа:
my-score
Затем выполните действие:
Со следующим поведением: Блокировать на выбранный срок
Пример API для такой конфигурации правила см. в Создание правила ограничения скорости через API.