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
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 |
|
Valores válidos:
|
|
HTTP Version |
Versão HTTP da solicitação. |
http.request.version |
Valores válidos:
|
|
|
Country/Region |
País ou região do endereço IP do cliente. |
ip.geoip.country |
|
|
|
File Name |
Nome do arquivo solicitado pelo cliente. |
http.request.uri.path.file_name |
|
|
|
File Extension |
Sufixo do nome do arquivo solicitado pelo cliente. |
http.request.uri.path.extension |
|
|
|
IP Source Address |
Endereço IP do cliente. |
ip.src |
|
|
|
SSL/HTTPS |
Tipo de protocolo da solicitação. |
http.request.scheme |
|
Valores válidos:
|
|
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 |
|
|
|
URI |
Caminho na url da solicitação. O valor inclui os parâmetros da solicitação. |
http.request.uri |
|
|
|
URI Full |
Identificador Uniforme de Recursos (URI) completo da solicitação. |
http.request.full_uri |
|
|
|
URI Path |
Caminho na url da solicitação. O valor exclui os parâmetros da solicitação. |
http.request.uri.path |
|
|
|
URI Query String |
Todos os parâmetros de solicitação na url da solicitação. |
http.request.uri.query |
|
|
|
URI Query String Parameter |
Parâmetros de consulta especificados na url da solicitação. |
http.request.uri.args["session"] |
|
|
|
Cookie |
Cookie contido na solicitação. |
http.cookie |
|
|
|
User Agent |
Informações do cliente contidas na solicitação. |
http.user_agent |
|
|
|
Referer |
url da página web original de onde o recurso foi solicitado. |
http.referer |
|
|
|
X-Forwarded-For |
Valor do cabeçalho X-Forwarded-For na solicitação. |
http.x_forwarded_for |
|
|
|
Header |
Cabeçalho especificado na solicitação. |
http.request.headers["session"] |
|
|
|
Cookie Value Of |
Parâmetro de cookie especificado na solicitação. |
http.request.cookies["session"] |
|
|
|
ISP |
ISP do endereço IP do cliente. |
ip.src.isp |
|
Valores válidos:
|
|
IP Protocol Version |
Versão do protocolo do endereço IP do cliente. |
ip.src.version |
|
Valores válidos:
|
|
Province |
Subdivisão administrativa de primeiro nível de um país. |
ip.src.subdivision_1_iso_code |
|
|
|
Load Balancer Region |
Região onde o balanceador de carga está localizado. |
ip.src.region_code |
|
|
|
Request Timestamp |
Timestamp Unix que indica quando a solicitação chega ao POP. |
http.request.timestamp.sec |
|
|
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.
|
|
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
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.

Usar o editor de expressões
O editor de expressões oferece maior flexibilidade para criar expressões mais complexas.
-
Clique em Edit Expression.

-
No editor, insira as expressões.
