Документация Запланировать пилот

Примеры правил ограничения скорости

В примерах ниже приведены образцы конфигураций правил ограничения скорости.

Пример 1

Следующие правило ограничения частоты запросов ограничивает частоту входящих запросов из США, направленных на страницу входа, за исключением одного разрешённого IP-адреса.

Когда входящие запросы совпадают:

Поле Оператор Значение
URI Path равно /login И
Страна равно United States И
IP-адрес источника does not equal 192.0.0.1

Если вы используете редактор выражений:
(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.

Когда входящие запросы совпадают:

Поле Оператор Значение
URI Path contains /product И
Request Method равно POST

Если вы используете редактор выражений:
(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 минут.

Когда входящие запросы совпадают:

Поле Оператор Значение
URI Path подстановочный знак /graphql/*

Если вы используете редактор выражений:
(http.request.uri.path wildcard "/graphql/*")

С теми же характеристиками:

  • Значение заголовка > x-api-key
  • ID дата-центра (включено по умолчанию в дашборде, но не отображается)

Когда скорость превышает: На основе сложности

  • Оценка за период: 400
  • Период: 1 минута
  • Имя заголовка ответа: my-score

Затем выполните действие:

  • Выберите действие: Block

Со следующим поведением: Блокировать на выбранный срок

  • Длительность: 10 минут

Пример API для такой конфигурации правила см. в Создание правила ограничения скорости через API.

Запросите бесплатный пилот

Запланировать пилот