Use a interface gráfica do rules engine para definir regras condicionais com base em parâmetros de requisição e controle exatamente quando as políticas de configuração do DCDN entram em vigor.
Nota: Quando este recurso referencia condições de regra do Rules Engine, a ordem de execução segue a ordem de prioridade das condições de regra configuradas no Rules Engine, NÃO a ordem de prioridade da própria configuração deste recurso.
Background
O console da Alibaba Cloud CDNDCDN oferece recursos básicos, como configuração de time-to-live (TTL) e reescrita de parâmetros de back-to-origin. Esses recursos cobrem a maioria dos casos de uso, mas não conseguem atender a todos os requisitos. Por exemplo, pode ser necessário rotear requisições que contenham o caminho /example para uma origem específica. Para esses cenários, combine os recursos básicos com o rules engine para obter configurações mais flexíveis. A Alibaba Cloud CDNDCDN também oferece EdgeRoutine para personalização avançada.
|
Configuration capability |
Basic features |
Basic features + rules engine |
EdgeRoutine |
|
Implementation |
Configurações de uso geral |
Configurações personalizadas flexíveis |
Configurações personalizadas altamente flexíveis |
|
Scenarios |
Casos de uso comuns |
Requisitos personalizados avançados |
Requisitos totalmente personalizados |
|
Difficulty |
Baixa |
Média |
Alta |
|
Configuration flexibility |
Baixa |
Média |
Alta |
Limitations
É possível criar no máximo 50 condições de regra por nome de domínio.
Cada condição de regra pode conter no máximo 20 sub-regras.
Não é possível usar os operadores de correspondência por expressão regular ou de não correspondência por expressão regular ao configure condições de regra no console ou via openapi. No entanto, é possível visualize configurações existentes que utilizam esses operadores. Para usá-los, utilize ESA.
Uma condição de regra pode ser referenciada no máximo cinco vezes em todos os recursos de um único nome de domínio.
As condições de regra podem ser aninhadas em até três níveis, e cada nível pode ter suas próprias relações lógicas independentes.
Se um recurso — como a definição do tempo de expiração do cache ou a modificação de cabeçalhos de requisição de saída — referenciar uma condição de regra, a prioridade da condição determina a ordem de execução, não a ordem de configuração do recurso.
-
Dentre os limites anteriores, os máximos de 50 condições de regra, 20 sub-regras e 3 níveis de aninhamento são limites fixos que não podem ser aumentados mediante solicitação. O número máximo total de referências a condições de regra em todos os recursos de um único nome de domínio acelerado, que é 5 por padrão, pode ser aumentado mediante solicitação.
Para aumentar o número total de referências a condições de regra para um único nome de domínio (cinco por padrão), envie um ticket. Inclua no ticket as seguintes informações: o nome de domínio acelerado para o qual deseja aumentar o limite, o número-alvo de referências e uma descrição do seu cenário de negócios.
Ao adicionar outro nome de domínio acelerado, envie um ticket separado para aumentar o número de referências a condições de regra para esse domínio. O processo é o mesmo da primeira solicitação.
Cada condição pode ter no máximo 32 valores de correspondência para tipos como IP do cliente, URI, extensão de arquivo, nome de arquivo e User-Agent. Caso a lista de permissões de IPs de clientes seja extensa, consolide múltiplos endereços IP em blocos CDN CIDR (por exemplo,
120.209.XXX.X/24) para configure os endereços IP e economizar a capacidade de valores de correspondência.Configure no máximo 32 valores de correspondência para User-Agent. Valores além desse limite são ignorados. Para corresponder a um grande número de User-Agents, use um caractere curinga (
*) para consolidar valores semelhantes. Por exemplo,*Chrome*corresponde a todas as versões do navegador Chrome), ou use EdgeScript para uma lógica de correspondência mais flexível.
Rule condition syntax
Uma condição de regra combina uma ou mais expressões condicionais por meio de operadores lógicos. As seções a seguir descrevem a sintaxe.
Logical operators
Os operadores lógicos avaliam condições no mesmo nível, incluindo conjuntos de condições aninhadas. Os operadores com suporte são and e or.
and(AND): operador lógico E. A correspondência é bem-sucedida somente se todas as condições forem verdadeiras.or(OR): operador lógico OU. A correspondência é bem-sucedida se qualquer condição for verdadeira. Por exemplo, configurar múltiplas condições de regra para o mesmo cabeçalho de resposta permite adicionar o mesmo cabeçalho de resposta em condições diferentes. Exemplo: quando o URI contém/path-aor o URI contém/path-b, adicione o cabeçalho de resposta.
Parameters of a conditional expression
Uma expressão condicional é a unidade mais granular de uma regra e inclui os seguintes parâmetros:
|
Parâmetro |
Parâmetro de configuração correspondente na função condition para configuração de nome de domínio |
Descrição |
Obrigatório |
|
Conditional match |
match |
Especifica a expressão de correspondência condicional. |
Sim |
|
Logical operator |
logic |
Especifica o operador lógico para a expressão de correspondência condicional. Os valores válidos são |
Sim |
|
Criteria |
criteria |
Especifica o array de expressões condicionais a serem avaliadas. |
Sim |
|
Match type |
MatchType |
Especifica o tipo de informação na requisição do cliente a ser correspondida. |
Sim |
|
Match object |
MatchObject |
Refina o tipo de correspondência. Por exemplo, um endereço IP do cliente pode ser especificado como IP de conexão do POP ou IP XFF. |
Não |
|
Match operator |
MatchOperator |
Especifica a comparação a ser realizada. |
Sim |
|
Match value |
MatchValue |
O valor a ser comparado com os dados da requisição do cliente. |
Sim |
|
Negate condition |
negate |
Especifica se o resultado da expressão condicional deve ser negado. Os valores válidos são true e false. |
Sim |
|
Case sensitivity |
caseSensitive |
Especifica se o valor de correspondência diferencia maiúsculas de minúsculas. |
Não |
|
Rule condition name |
name |
Especifica o nome da condição de regra. |
Sim |
|
Status |
status |
Especifica o status da condição de regra. |
Sim |
Features supporting rule conditions
|
Categoria do recurso |
Nome do recurso |
|
configuração de origin fetch |
|
|
origin HTTP request headers (New) |
|
|
origin HTTP response headers |
|
|
configuração de cache |
|
Procedure
Faça login no console do DCDN.
No painel de navegação à esquerda, clique em Domain Names.
Na página Domain Names, localize o nome de domínio que deseja gerencie e clique em Configure na coluna Actions.
No painel de navegação à esquerda, clique em Rule Engine.
Clique em Create Rule.
Na página Create Rule, defina o Rule Name e o Rule Content.
Clique em Submit.