INTEGRITY Документация

Выражения

Правила балансировки нагрузки используют выражения двух видов:


Простые выражения

Простое выражение состоит из трех элементов:

  1. A поле который представляет свойство HTTP-запроса.
  2. Репрезентативная значение для этого поля, которое Cloudflare сравнивает с фактическим значением запроса.
  3. A оператор сравнения, который определяет, как значение, заданное в выражении, должно соотноситься с фактическим значением из запроса, чтобы оператор вернул true.

Когда оператор сравнения возвращает true, запрос соответствует выражению.

Этот пример выражения возвращает true, если путь URI запроса содержит /content:

(http.request.uri.path contains "/content")

Как правило, простые выражения строятся по следующему шаблону:

<field> <operator> <value>

Подробнее см. в Поддерживаемые поля и операторы.


Составные выражения

Составное выражение использует логический оператор (и, или, например) для объединения двух или более выражений. Составные выражения позволяют строить сложные конструкции в рамках одного выражения.

Приведённый ниже пример выражения возвращает true, если путь URI HTTP-запроса одновременно содержит /content и строка запроса содержит webserver:

(http.request.uri.path contains "/content")
and (http.request.uri.query contains "webserver")

Как правило, составные выражения строятся по следующему шаблону:

<expression> <logical operator> <expression>

Составное выражение может быть операндом логического оператора. Это позволяет с помощью нескольких операторов строить составное выражение из множества отдельных выражений.

Подробнее см. в Поддерживаемые поля и операторы.


Работа с выражениями

Визуальный интерфейс Expression Builder позволяет создавать выражения, не задумываясь об именах полей и синтаксисе.

Для сравнения, Expression Editor работает только с текстом, но поддерживает дополнительные функции, недоступные в конструкторе.

Expression Builder

Составные выражения легче воспринимаются в визуальном интерфейсе Expression Builder, а Expression Preview служит отличным подспорьем при освоении более сложных выражений.

На этом снимке экрана Expression Builder показано составное выражение из примера, описанного выше. Составные выражения проще воспринимать, когда они отображаются в визуальном интерфейсе Expression Builder.

Пример настройки правила в Expression Builder

Expression Preview отображает выражение в текстовом виде:

(http.request.uri.path contains "/content")
and (http.request.uri.query contains "webserver")

Пошаговое руководство приведено в Создание правил Load Balancing.

Expression Editor

Expression Editor представляет собой текстовый интерфейс для создания выражений Load Balancing. Хотя он уступает Expression Builder в визуальной простоте, Expression Editor поддерживает расширенные функции, например группировку с помощью круглых скобок.

Чтобы открыть Expression Editor в Трафик приложении нажмите Edit expression в Создание пользовательского правила диалоговое окно.

Чтобы вернуться к конструктору, нажмите Используйте конструктор выражений.

Списки правил

Load Balancing Custom Rules не поддерживает операторы списков IP-адресов.