Todos los productos
Search
Centro de documentos

Edge Security Acceleration:Operadores y símbolos de agrupación

Última actualización: Sep 06, 2026

Las expresiones de reglas usan operadores de comparación para coincidir con los valores de las solicitudes y operadores lógicos para combinar condiciones.

Operadores de comparación

Los operadores de comparación comparan el valor de una solicitud entrante con un valor especificado en una expresión.

contains

Comprueba si el valor de la solicitud contiene la cadena especificada.

  • Nombre del operador: Contains

  • Tipo de valor: String

  • Ejemplo:

    (http.host contains "example.com")

ends_with

Comprueba si el valor de la solicitud termina con la cadena especificada.

  • Nombre del operador: Ends with

  • Tipo de valor: String

  • Ejemplo:

    (ends_with(http.host, "cn"))

eq

Comprueba si el valor de la solicitud es igual al valor especificado.

  • Nombre del operador: Equal to

  • Tipo de valor: String

  • Ejemplo:

    (http.host eq "www.example.com")

exists

Comprueba si un campo o atributo específico existe en la solicitud.

  • Nombre del operador: Exists

  • Tipo de valor: String

  • Ejemplo:

    (exists(http.request.headers["user-agent"]))

ge

Comprueba si el valor de la solicitud es mayor o igual que el valor numérico especificado.

  • Nombre del operador: Greater than or equal to

  • Tipo de valor: int

  • Ejemplo:

    (ip.geoip.asnum ge 45104)

gt

Comprueba si el valor de la solicitud es mayor que el valor numérico especificado.

  • Nombre del operador: Greater than

  • Tipo de valor: int

  • Ejemplo:

    (ip.geoip.asnum gt 45104)

in

Comprueba si el valor de la solicitud coincide con algún valor de un conjunto especificado. Use el símbolo $ para hacer referencia a una lista.

  • Nombre del operador: Is in

  • Tipo de valor: Array

  • Ejemplo:

    (http.host in {"www.example.com" "blog.example.com"})

    ( ip.src in $<LIST_NAME>)

le

Comprueba si el valor de la solicitud es menor o igual que el valor numérico especificado.

  • Nombre del operador: Less than or equal to

  • Tipo de valor: int

  • Ejemplo:

    (ip.geoip.asnum le 45104)

len eq

Comprueba si la longitud del valor de la solicitud es igual al valor numérico especificado.

  • Nombre del operador: Length equals

  • Tipo de valor: String

  • Ejemplo:

    (len(http.request.cookies["session"]) eq 330688)

len gt

Comprueba si la longitud del valor de la solicitud es mayor que el valor numérico especificado.

  • Nombre del operador: Length is greater than

  • Tipo de valor: String

  • Ejemplo:

    (len(http.request.cookies["session"]) gt 330688)

len lt

Comprueba si la longitud del valor de la solicitud es menor que el valor numérico especificado.

  • Nombre del operador: Length is less than

  • Tipo de valor: String

  • Ejemplo:

    (len(http.request.cookies["session"]) lt 330688)

lt

Comprueba si el valor de la solicitud es menor que el valor numérico especificado.

  • Nombre del operador: Less than

  • Tipo de valor: int

  • Ejemplo:

    (ip.geoip.asnum lt 45104)

matches

Comprueba si el valor de la solicitud coincide con una expresión regular especificada (compatible con PCRE).

Nota

Solo los planes Premium y Enterprise son compatibles con expresiones regulares.

  • Nombre del operador: Matches regex

  • Tipo de valor: String

  • Ejemplo:

    (http.host matches "(www|blog)\.example\.com")

ne

Comprueba si el valor de la solicitud no es igual al valor especificado.

  • Nombre del operador: Not equal to

  • Tipo de valor: String

  • Ejemplo:

    (http.host ne "www.example.com")

not ends_with

Comprueba si el valor de la solicitud no termina con la cadena especificada.

  • Nombre del operador: Does not end with

  • Tipo de valor: String

  • Ejemplo:

    (not ends_with(http.host, "cn"))

not exists

Comprueba si un campo o atributo específico no existe en la solicitud.

  • Nombre del operador: Does not exist

  • Tipo de valor: String

  • Ejemplo:

    (not exists(http.request.headers["user-agent"]))

not starts_with

Comprueba si el valor de la solicitud no empieza con la cadena especificada.

  • Nombre del operador: Does not start with

  • Tipo de valor: String

  • Ejemplo:

    (not starts_with(http.host, "blog"))

not...contains

Comprueba si el valor de la solicitud no contiene la cadena especificada.

  • Nombre del operador: Does not contain

  • Tipo de valor: String

  • Ejemplo:

    (not http.host contains "example.com")

not...in

Comprueba si el valor de la solicitud no coincide con ningún valor de un conjunto especificado. Use el símbolo $ para hacer referencia a una lista.

  • Nombre del operador: Is not in

  • Tipo de valor: Array

  • Ejemplo:

    (not http.host in {"www.example.com" "blog.example.com"})

    (not ip.src in $<LIST_NAME>)

not...matches

Comprueba si el valor de la solicitud no coincide con una expresión regular especificada (compatible con PCRE).

Nota

Solo los planes Premium y Enterprise son compatibles con expresiones regulares.

  • Nombre del operador: Does not match regex

  • Tipo de valor: String

  • Ejemplo:

    (not http.host matches "(www|blog)\.example\.com")

percent

Filtra las solicitudes según un campo y un valor porcentual especificados.

  • Nombre del operador: Percentage

  • Tipo de valor: Int

  • Rango de valores: de 1 a 100

Nota

Si el valor del campo está vacío (por ejemplo, la solicitud no incluye el encabezado especificado), la regla no surte efecto y el resultado de la coincidencia es false.

Campos compatibles:

  • Encabezado: http.request.headers["example"]

  • IP del cliente: ip.src

  • Cadena de consulta del URI: http.request.uri.args["example"]

  • Marca de tiempo de la solicitud: http.request.timestamp.sec

Ejemplos:

  • percent(http.request.headers["example"],80)

  • percent(ip.src,80)

  • percent(http.request.cookies["example"],80)

  • percent(http.request.args["example"],80)

  • percent(http.request.timestamp.sec,80)

starts_with

Comprueba si el valor de la solicitud empieza con la cadena especificada.

  • Nombre del operador: Starts with

  • Tipo de valor: String

  • Ejemplo:

    (starts_with(http.host, "blog"))

Otros operadores

lower

Convierte el valor de la solicitud a minúsculas para habilitar coincidencias sin distinción entre mayúsculas y minúsculas.

  • Nombre del operador: Case-insensitive

  • Tipo de valor: String

  • Ejemplo:

    (lower(http.request.uri))

Operadores lógicos

Los operadores lógicos combinan varias expresiones en una composite expression.

and

Devuelve verdadero solo cuando todas las expresiones combinadas son verdaderas.

  • Nombre del operador: Logical AND

  • Ejemplo:

    ((http.host eq "www.example.com") and (ip.geoip.country eq "CN"))

not

Niega el resultado de una expresión e invierte verdadero a falso y viceversa.

  • Nombre del operador: Logical NOT

  • Ejemplo:

    not (http.host eq "www.example.com")

or

Devuelve verdadero si alguna de las expresiones combinadas es verdadera.

  • Nombre del operador: Logical OR

  • Ejemplo:

    ((http.host eq "www.example.com") or (ip.geoip.country eq "CN"))

Símbolos de agrupación

Use los paréntesis ( y ) para agrupar partes de una expresión y controlar el orden de evaluación.

Los símbolos de agrupación son compatibles con el editor de expresiones y la API de ESA, pero no con el generador de expresiones.

Ejemplo de expresión anidada:

(http.host eq "www.example.com" and ((http.referer in {"download.example.com"}) or (http.referer in {"image.example.com"})))