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

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

Доступные параметры правила ограничения скорости описаны в следующих разделах.

Дополнительную информацию о текущих ограничениях настройки правил см. в Ограничения конфигурации.

Справочник параметров

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

Определяет критерии, по которым правило ограничения скорости сопоставляется с запросом.

Также применять ограничение скорости к кешированным ресурсам

Если этот параметр отключён (или когда requests_to_origin поле API имеет значение true), при определении частоты запросов учитываются только запросы, доходящие до источника (то есть запросы, которые не кешируются).

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

В зависимости от вашего тарифный план Cloudflare, этот параметр правила может быть недоступен. В этом случае Cloudflare также будет применять ограничение скорости к кешированным ресурсам (по умолчанию этот параметр включен).

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

Набор параметров, определяющих, как Cloudflare отслеживает частоту запросов для этого правила.

Используйте одну или несколько из следующих характеристик:

Значение в панели управления Значение API Примечания
Н/Д (включено неявно) cf.colo.id(обязательно) Не используйте в выражениях
IP ip.src Несовместимо с IP with NAT support
IP with NAT support cf.unique_visitor_id Несовместимо с IP
Значение заголовка (введите имя заголовка) http.request.headers["<header_name>"] Использование имени заголовка в нижнем регистре в API и Отсутствующее поле в сравнении с пустым значением
Значение cookie (введите имя cookie) http.request.cookies["<cookie_name>"] Рекомендуемые конфигурации и Отсутствующее поле в сравнении с пустым значением
Значение запроса (введите имя параметра) http.request.uri.args["<query_param_name>"] Отсутствующее поле в сравнении с пустым значением
Host http.host
Путь http.request.uri.path
AS Num ip.src.asnum
Страна ip.src.country
Отпечаток JA3 cf.bot_management.ja3_hash
JA4 cf.bot_management.ja4
JSON string value of (введите ключ) lookup_json_string(http.request.body.raw, "<key>") Отсутствующее поле в сравнении с пустым значением и lookup_json_string() справочник по функции
JSON integer value of (введите ключ) lookup_json_integer(http.request.body.raw, "<key>") Отсутствующее поле в сравнении с пустым значением и lookup_json_integer() справочник по функции
Form input value of (введите имя поля) http.request.body.form["<input_field_name>"] Отсутствующее поле в сравнении с пустым значением
JWT claim of (введите ID конфигурации токена, имя claim) lookup_json_string( http.request.jwt.claims["<token_configuration_id>"][0], "<claim_name>") Требования к claims в JWT, отсутствующее поле в сравнении с пустым значением и Справочник JWT Validation
Тело http.request.body.raw
Размер тела (выберите оператор, введите размер) http.request.body.size
Custom (введите выражение) Введите пользовательское выражение. Вы можете использовать такую функцию, как substring() или lower(), или введите более сложное выражение. Функции

Доступные характеристики зависят от вашего тарифного плана Cloudflare. См. Доступность, где это описано подробнее.

Увеличивать счётчик, когда

Доступно только в панели управления Cloudflare при включении Использование пользовательского выражения для подсчёта.

Определяет критерии, используемые для расчёта частоты запросов. По умолчанию выражение подсчёта совпадает с выражением сопоставления правила (заданным в Когда входящие запросы соответствуют). Это значение по умолчанию также применяется, если задать этому полю пустую строку ("").

Выражение для подсчёта может включать Поля HTTP-ответа. Если в выражении для подсчёта используются поля ответа, подсчёт выполняется после отправки ответа.

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

Когда скорость превышает

Подсчёт для ограничения скорости может быть:

Когда скорость превышает > Запросы

Количество запросов за указанный период времени, которое приведёт к срабатыванию правила. Применяется к ограничению скорости на основе количества запросов.

Когда скорость превышает > Период

Период времени (в секундах), который учитывается при оценке частоты запросов. Доступные значения зависят от вашего тарифного плана Cloudflare.

Доступные значения API: 10, 60 (одна минута), 120 (две минуты), 300 (пять минут), 600 (10 минут), или 3600 (один час).

Когда скорость превышает > Оценка за период

Максимальная оценка за период. При превышении этого значения выполняется действие правила. Применяется к ограничение скорости на основе сложности.

Когда скорость превышает > Имя заголовка ответа

Название HTTP-заголовка в ответе, устанавливаемое исходным сервером, содержащее оценку текущего запроса. Применяется к ограничение скорости на основе сложности.

Затем выберите действие

Действие, которое выполняется при достижении скорости, указанной в правиле.

Используйте одно из следующих значений в API: block, js_challenge (Non-Interactive Challenge), managed_challenge (Managed Challenge), challenge (Interactive Challenge) или log.

Если вы выберете Block действие, вы можете определить пользовательский ответ с помощью следующих параметров:

С типом ответа (для Block действие)

Определяет тип содержимого пользовательского ответа при блокировке запроса из-за ограничения скорости. Доступно только при установке действие правила к Block.

Доступные значения API: application/json, text/html, text/xml, или text/plain.

С кодом ответа (для Block действие)

Определяет код состояния HTTP, возвращаемый посетителю при блокировке запроса из-за ограничения скорости. Доступно только при установке действие правила к Block.

Необходимо ввести значение от 400 и 499. Значение по умолчанию: 429 (Too many requests).

Тело ответа (для Block действие)

Определяет тело возвращаемого HTTP-ответа, когда запрос блокируется из-за ограничения скорости. Доступно только при установке действие правила к Block.

Максимальный размер поля составляет 30 КБ.

Для продолжительности

Как только скорость достигает заданного значения, правило ограничения скорости применяет действие правила к дальнейшим запросам в течение периода времени, указанного в этом поле (в секундах).

В панели управления выберите одно из доступных значений, которое зависят от вашего тарифного плана Cloudflare. Доступные значения API: 0, 10, 60 (одна минута), 120 (две минуты), 300 (пять минут), 600 (10 минут), 3600 (один час), или 86400 (один день).

Клиенты с тарифными планами Free, Pro и Business не могут выбирать длительность при использовании действие Challenge, их правило ограничения скорости всегда выполняет сдерживание запросов для этих действий. При сдерживании запросов длительность не задаётся. Когда посетители проходят проверку, их соответствующий счётчик запросов установлено значение ноль. Когда посетители с теми же значениями характеристик правила отправляют достаточно запросов, чтобы снова сработало правило ограничения скорости, они получают новую проверку.

Клиенты уровня Enterprise всегда могут настроить длительность (или тайм-аут устранения угрозы), даже при использовании одного из действий challenge.

Со следующим поведением

Определяет точное поведение выбранного действия.

Поведение действия может быть одним из следующих:

Примечания о характеристиках ограничения скорости

Сценарии использования IP-адресов с поддержкой NAT

Используйте IP with NAT support чтобы учитывать ситуации, когда несколько запросов используют общий IP-адрес из-за NAT. Cloudflare применяет различные методы, сохраняющие конфиденциальность, для идентификации уникальных посетителей, включая использование сессионных cookie. См. Cloudflare Cookies для получения подробностей.

Что учитывать при использовании IP-адресов с поддержкой NAT

IP with NAT support основан на механизме идентификации посетителей на основе файлов cookie (_cfuvid cookie). Учитывайте следующее:

Несовместимые характеристики

Нельзя использовать одновременно IP with NAT support и IP в качестве характеристик одного и того же правила ограничения скорости.

Не используйте cf.colo.id как поле в выражениях

Не следует использовать cf.colo.id характеристику (ID дата-центра) как поле в выражениях правил. Кроме того, cf.colo.id значения могут изменяться без предупреждения. Дополнительную информацию об этой характеристике ограничения частоты запросов см. в Расчёт частоты запросов.

Использование имени заголовка в нижнем регистре (для пользователей API)

Если вы используете Значение заголовка характеристику в запросе API (с http.request.headers["<header_name>"]), необходимо ввести имя заголовка в нижнем регистре, так как Cloudflare нормализует имена заголовков в глобальной сети Cloudflare.

Отсутствующее поле в сравнении с пустым значением

Если вы используете Значение заголовка, Значение cookie, Значение запроса, JSON string value of, lookup_json_integer(...), или Form input value of характеристику, а конкретное имя заголовка, файла cookie, параметра, ключа JSON или поля формы отсутствует в запросе, правило ограничения частоты запросов всё равно может применяться к запросу, в зависимости от выражения подсчёта.

Если вы не отфильтруете такие запросы, появится отдельный счётчик запросов для запросов, где поле отсутствует, что отличается от счётчика запросов, где поле присутствует с пустым значением.

Например, чтобы учитывать только запросы, в которых присутствует определённый HTTP-заголовок, в контексте конкретного правила ограничения скорости измените выражение для подсчёта так, чтобы оно содержало нечто подобное следующему:

and len(http.request.headers["<header_name>"]) > 0

Где <header_name> это то же имя заголовка, которое используется в качестве характеристики ограничения скорости.

Если вы используете Значение cookie в качестве характеристики правила ограничения скорости, следуйте этим рекомендациям:

Требования к использованию claims в JSON Web Token (JWT)

Чтобы использовать claims внутри JSON Web Token (JWT), сначала необходимо настроить конфигурация проверки токена в API Shield.

Ограничения конфигурации

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

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