Todos os produtos
Search
Central de documentação

:Rules engine

Última atualização: Jun 29, 2026

O mecanismo de regras permite criar e implantar diversas regras seguindo a mesma sintaxe e lógica, como regras de cache, redirecionamento, compactação, origem e proteção do Web Application Firewall (WAF).

Visão geral

Com o mecanismo de regras do Edge Security Acceleration (ESA), você cria regras por meio de uma interface gráfica. O ESA verifica se deve aplicar uma configuração específica às solicitações recebidas com base nos parâmetros definidos nessas regras. Isso proporciona um controle mais flexível e preciso da distribuição de conteúdo.

Prioridades das regras

  • Regras sobre um aspecto específico (como TTL de cache do navegador) têm precedência sobre a configuração global desse mesmo aspecto.

  • Se um aspecto específico (como cache) possuir uma lista de regras, elas serão aplicadas em sequência, de cima para baixo. Para alterar a prioridade de uma regra específica, modifique sua posição na lista.

Observações de uso

  • Uma única condição de regra não pode exceder 4 KB. O tamanho total de todas as informações de configuração de um site, exceto a configuração de segurança, não pode ultrapassar 512 KB.

  • Uma condição de regra suporta uma estrutura aninhada com profundidade máxima de dois níveis. Cada nível permite configurações independentes de operações lógicas.

  • Uma única condição de regra pode conter até 20 campos de correspondência.

Descrição do parâmetro Apply to

Ao criar uma regra, as seguintes opções estão disponíveis para o parâmetro Apply to:

  • All Requests: A regra criada se aplica a todo o tráfego do site.

  • Filtered Requests: A regra criada se aplica apenas ao tráfego que corresponde à expressão personalizada. Selecione esta opção para filtrar solicitações com precisão.

Sintaxe das regras

Uma condição de regra consiste em expressões e um operador lógico.

  • Expressão: filtra solicitações com características específicas.

  • Operador lógico: combina múltiplas expressões.

Especifique várias expressões e combine-as para filtrar solicitações conforme os requisitos do seu negócio.

Operadores lógicos

Um operador lógico conecta expressões em uma condição de regra para executar uma operação lógica. Os seguintes operadores lógicos são suportados:

  • and: Uma condição de regra é correspondida somente se todas as expressões nela contidas forem verdadeiras.

  • or: Uma condição de regra é correspondida se pelo menos uma das expressões nela contidas for verdadeira.

Expressões

Uma expressão simples contém os parâmetros descritos na tabela a seguir.

Parâmetro

Parâmetro de sintaxe correspondente

Descrição

Obrigatório

Campo de correspondência

Field

O campo de correspondência.

Sim

Valor de correspondência

Value

O valor de correspondência.

Sim

Operador de comparação

Comparison_operator

O operador de comparação.

Sim

Sintaxe da expressão

  • Expressões simples

    • Sintaxe: <field><comparison_operator><value>

    • Exemplo: http.request.uri.path matches"/image\.(jpg|png)$"

  • Expressões compostas

    • Definição: múltiplas expressões conectadas por operadores lógicos

    • Sintaxe: <expreesion><logical_operator><expression>

    • Exemplo: http.host eq "www.example.com" and http.request.uri.path eq "/content"

Campos de correspondência

Nota
  • O campo de correspondência de nome de host (http.host) aplica-se a regras de criptografia SSL/TLS e suporta apenas os operadores equals e does not equal.

  • Alguns provedores de serviços de Internet (ISPs) podem atribuir endereços IP privados a clientes em regiões específicas. Nesse caso, os POPs não conseguem determinar com precisão o país/região, o endereço IP de source, a província ou o ISP do cliente, pois as solicitações recebidas partem de um endereço IP privado. Para mais informações, consulte Identificar bloco CIDR privado

Campo de correspondência

Descrição

Nome da variável na expressão

Operador de comparação suportado

Valor de correspondência

Request Method

Método da solicitação.

http.request.method

  • equals

  • does not equal

  • is in

  • is not in

Valores válidos:

  • GET

  • POST

  • PURGE

  • PUT

  • HEAD

  • OPTIONS

  • DELETE

  • PATCH

HTTP Version

Versão HTTP da solicitação.

http.request.version

Valores válidos:

  • HTTP/1.0

  • HTTP/1.1

  • HTTP/2.0

  • HTTP/3.0

Country/Region

País ou região do endereço IP do cliente.

ip.geoip.country

  • Selecione um valor na lista suspensa.

  • Não diferencia maiúsculas de minúsculas.

  • String vazia não permitida no valor de correspondência.

File Name

Nome do arquivo solicitado pelo cliente.

http.request.uri.path.file_name

  • O valor não pode conter o sufixo do nome real do arquivo. Exemplos:

    • /a/b: Especifique b como valor.

    • /a/b/: Especifique uma string vazia como valor.

    • /foo.tar.bz2: Especifique foo.tar como valor.

    • 128_128.jpg: Especifique 128_128 como valor.

  • Diferencia maiúsculas de minúsculas.

  • String vazia não permitida no valor de correspondência.

File Extension

Sufixo do nome do arquivo solicitado pelo cliente.

http.request.uri.path.extension

  • O valor corresponde à string após o último ponto (.) no nome do arquivo. Ao especificar o valor, não inclua o ponto (.). Por exemplo, especifique bz2 como valor se o nome do arquivo for foo.tar.bz2.

  • Diferencia maiúsculas de minúsculas.

  • String vazia não permitida no valor de correspondência.

IP Source Address

Endereço IP do cliente.

ip.src

  • Suporta endereços IPv4. Exemplo: 192.168.X.X.

  • Suporta endereços IPv6. Exemplo: 240e:95c:3004:2:3:0:0:XXX.

  • Suporta blocos CIDR. Exemplo: 192.168.XXX.XXX/31.

  • Não diferencia maiúsculas de minúsculas.

  • String vazia não permitida no valor de correspondência.

SSL/HTTPS

Tipo de protocolo da solicitação.

http.request.scheme

  • equals

  • does not equal

Valores válidos:

  • http

  • https

Hostname

Nome de host contido na solicitação.

Ordem de correspondência: Se houver nomes de host tanto na url quanto no cabeçalho HOST, o sistema usa o nome de host da url da solicitação.

http.host

  • equals

  • does not equal

  • contains

  • does not contain

  • starts with

  • ends with

  • does not start with

  • does not end with

  • matches regex

  • does not match regex

  • is in

  • is not in

  • Exemplo: ["www1.alibaba.com","www2.alibaba.com"].

  • Não diferencia maiúsculas de minúsculas.

  • String vazia não permitida no valor de correspondência.

URI

Caminho na url da solicitação. O valor inclui os parâmetros da solicitação.

http.request.uri

  • Exemplo: /articles/index?section=330688&expand=comments.

  • Diferencia maiúsculas de minúsculas.

  • String vazia não permitida no valor de correspondência.

URI Full

Identificador Uniforme de Recursos (URI) completo da solicitação.

http.request.full_uri

  • Exemplo: htt­ps://www.example.org/articles/index?section=330688&expand=comments.

  • Diferencia maiúsculas de minúsculas.

  • String vazia não permitida no valor de correspondência.

URI Path

Caminho na url da solicitação. O valor exclui os parâmetros da solicitação.

http.request.uri.path

  • Exemplo: /articles/index.

  • Diferencia maiúsculas de minúsculas.

  • String vazia não permitida no valor de correspondência.

URI Query String

Todos os parâmetros de solicitação na url da solicitação.

http.request.uri.query

  • Exemplo: section=330688&expand=comments.

  • Diferencia maiúsculas de minúsculas.

  • String vazia não permitida no valor de correspondência.

URI Query String Parameter

Parâmetros de consulta especificados na url da solicitação.

http.request.uri.args["session"]

  • Especifique um nome de parâmetro e um valor de parâmetro para corresponder às solicitações. Por exemplo, insira o nome de parâmetro session e o valor de parâmetro 330688.

  • Diferencia maiúsculas de minúsculas.

  • String vazia permitida no valor de correspondência.

    Nota

    Especifique um valor nulo apenas ao selecionar um dos seguintes operadores:

    • equals

    • does not equal

    • contains

    • matches regex

Cookie

Cookie contido na solicitação.

http.cookie

  • equals

  • does not equal

  • contains

  • does not contain

  • matches regex

  • does not match regex

  • Exemplo: session=330688;background=light.

  • Diferencia maiúsculas de minúsculas.

  • String vazia permitida no valor de correspondência.

User Agent

Informações do cliente contidas na solicitação.

http.user_agent

  • Exemplo: curl/7.29.0.

  • Diferencia maiúsculas de minúsculas.

  • String vazia permitida no valor de correspondência.

Referer

url da página web original de onde o recurso foi solicitado.

http.referer

  • Exemplo: http://refer.com.cn.

  • Não diferencia maiúsculas de minúsculas.

  • String vazia permitida no valor de correspondência.

X-Forwarded-For

Valor do cabeçalho X-Forwarded-For na solicitação.

http.x_forwarded_for

  • Exemplos: 192.168.1.X e 192.168.2.X.

  • Diferencia maiúsculas de minúsculas.

  • String vazia permitida no valor de correspondência.

Header

Cabeçalho especificado na solicitação.

http.request.headers["session"]

  • Especifique um nome de cabeçalho e um valor de cabeçalho para corresponder às solicitações. Por exemplo, insira o nome de cabeçalho session e o valor de cabeçalho 330688.

  • Diferencia maiúsculas de minúsculas.

  • String vazia permitida no valor de correspondência.

Cookie Value Of

Parâmetro de cookie especificado na solicitação.

http.request.cookies["session"]

  • Especifique um parâmetro de cookie e um valor de cookie para corresponder às solicitações. Por exemplo, insira o nome de parâmetro de cookie session e o valor de parâmetro 330688.

  • Diferencia maiúsculas de minúsculas.

  • String vazia permitida no valor de correspondência.

ISP

ISP do endereço IP do cliente.

ip.src.isp

  • equals

  • does not equal

  • contains

  • does not contain

Valores válidos:

  • China Telecom

  • China Mobile

  • China Unicom

IP Protocol Version

Versão do protocolo do endereço IP do cliente.

ip.src.version

  • equals

  • does not equal

Valores válidos:

  • IPv4

  • IPv6

Province

Subdivisão administrativa de primeiro nível de um país.

ip.src.subdivision_1_iso_code

  • equals

  • does not equal

  • contains

  • does not contain

  • Exemplo: CN-ZJ (Zhejiang, China)

  • Diferencia maiúsculas de minúsculas.

Load Balancer Region

Região onde o balanceador de carga está localizado.

ip.src.region_code

  • equals

  • does not equal

  • contains

  • does not contain

  • Exemplo: EAS (Leste Asiático)

  • Diferencia maiúsculas de minúsculas.

Request Timestamp

Timestamp Unix que indica quando a solicitação chega ao POP.

http.request.timestamp.sec

  • equals

  • does not equal

  • greater than

  • smaller than

  • greater than or equal to

  • smaller than or equal to

  • Exemplo: 1735019278 (13:47:58 em 24 de dezembro de 2024)

Operadores de comparação

Nome do operador

Operador

Negável

Tipo de valor

Observações

equals

eq

Não

string

/

does not equal

ne

Não

string

/

contains

contains

Sim

string

Verifica se a string especificada está contida.

matches regex

matches

Sim

string

Verifica correspondências via regex.

Apenas os planos Business e Enterprise suportam este operador.

is in

in

Sim

array

A expressão é verdadeira se qualquer um dos elementos especificados corresponder.

  • Este operador não suporta caracteres curinga no valor.

  • Suporta até 32 elementos no array de valores.

starts with

starts_with

Sim

string

/

ends with

ends_with

Sim

string

/

length less than

len-lt

Não

integer

Correspondência encontrada se o comprimento da string for menor que a condição de comprimento especificada.

length equal to

len-eq

Não

integer

Correspondência encontrada se o comprimento da string for igual à condição de comprimento especificada.

length greater than

len-gt

Não

integer

Correspondência encontrada se o comprimento da string for maior que a condição de comprimento especificada.

in list

in_list

Sim

integer

Utilizado em listas globais criadas no nível da conta.

exists

exists

Sim

bool

Verifica se a chave especificada existe nos pares chave-valor. Por exemplo, use este operador em regras baseadas em cabeçalhos, cookies e strings de consulta.

greater than

gt

Não

integer

Aplica-se a regras com valores inteiros.

smaller than

lt

Não

integer

Aplica-se a regras com valores inteiros.

greater than or equal to

ge

Não

integer

Aplica-se a regras com valores inteiros.

smaller than or equal to

le

Não

integer

Aplica-se a regras com valores inteiros.

Caracteres curinga

Caractere curinga

Descrição

?

Corresponde a um único caractere.

*

Corresponde a qualquer número de caracteres.

Criar expressões

Nota

Por padrão, o construtor de expressões é exibido para criação de expressões.

Usar o construtor de expressões

O construtor de expressões permite criar expressões rapidamente de forma interativa. No entanto, talvez seja necessário alternar para o editor de expressões ao criar expressões complexas.

Por exemplo, para criar uma expressão baseada no método de solicitação, selecione os componentes da expressão nas listas suspensas para que o construtor crie a expressão automaticamente.

image

Usar o editor de expressões

O editor de expressões oferece maior flexibilidade para criar expressões mais complexas.

  1. Clique em Edit Expression.

    image

  2. No editor, insira as expressões.

    image