O mecanismo de regras oferece uma interface gráfica para configurar regras condicionais. Essas regras analisam os parâmetros das requisições do usuário para determinar se uma configuração específica se aplica, proporcionando controle flexível e preciso sobre as políticas de configuração do CDNDCDN.
Contexto
O console do Alibaba Cloud CDN DCDN disponibiliza recursos básicos, como definição de tempos de expiração de cache e reescrita de parâmetros de retorno à origem, atendendo à maioria das necessidades comuns. Para requisitos específicos, como direcionar requisições que contenham o caminho /example para um servidor de origem determinado, utilize o mecanismo de regras para criar configurações personalizadas. Além disso, o Alibaba Cloud CDN DCDN oferece o recurso EdgeScript, que suporta personalização altamente flexível e permite configurar políticas granulares semelhantes às de provedores de CDN de terceiros, como Fastly e CloudFront.
|
Capacidades |
Recursos básicos |
Recursos básicos e mecanismo de regras |
EdgeScript |
|
Implementação do recurso |
Configurações de uso geral |
Permite criar regras de filtragem condicional por meio de uma interface gráfica. Suporta diversos tipos de correspondência, como URI, Header, Cookie e Query String, além de combinações lógicas AND/OR. |
Oferece personalização altamente flexível, adequada para cenários avançados que exigem scripts personalizados. |
|
Cenários |
Cenários de uso geral |
Cenários personalizados avançados |
Cenários totalmente personalizados |
|
Facilidade de uso |
Alta |
Média |
Baixa |
|
Flexibilidade de configuração |
Baixa |
Média |
Alta |
Lógica complexa e EdgeScript
O mecanismo de regras suporta combinações lógicas básicas AND/OR, adequadas para a maioria dos cenários de filtragem condicional. No entanto, os casos abaixo ajudam a decidir quando utilizar o EdgeScript:
Correspondência complexa de expressões regulares: O operador de expressão regular no mecanismo de regras vem desativado por padrão. É necessário abrir um ticket para ativá-lo. Para correspondências frequentes de expressões regulares, o EdgeScript é mais prático, pois oferece suporte nativo.
Combinações multidimensionais precisas: Configurar avaliações complexas que combinam múltiplos critérios — como corresponder simultaneamente ao IP do cliente e ao User-Agent com expressões regulares (por exemplo, bloquear requisições de uma faixa de IP específica cujo User-Agent contenha uma palavra-chave determinada) — torna-se trabalhoso no mecanismo de regras. O EdgeScript permite combinar várias condições de forma flexível usando lógica de script.
Controle de acesso preciso para URIs específicas: Utilize diretamente o mecanismo de regras para bloquear requisições a uma URI específica com base no Referer ou em uma lista de permissões de IP. O uso do EdgeScript não é necessário nesse caso.
Limitações
É possível criar no máximo 50 condições de regra por nome de domínio.
Cada condição de regra pode conter até 20 sub-regras.
Os operadores de correspondência ou não correspondência de expressão regular não estão disponíveis ao configurar condições de regra no console ou via OpenAPI. Contudo, configurações existentes que utilizam esses operadores permanecem visíveis. Para utilizar tais operadores, recorra ao ESA.
Uma mesma condição de regra pode ser referenciada no máximo cinco vezes entre todos os recursos de um único nome de domínio.
As condições de regra admitem aninhamento de até três níveis, sendo que cada nível pode ter suas próprias relações lógicas independentes.
Quando um recurso — como a definição de tempo de expiração de cache ou a modificação de cabeçalhos de requisição de saída — referencia uma condição de regra, a prioridade dessa condição determina a ordem de execução, e não a ordem em que o recurso foi configurado.
Os limites mencionados acima (50 condições de regra, 20 sub-regras, 3 níveis de aninhamento e 5 referências) são rígidos e não podem ser aumentados mediante solicitação.
Cada condição aceita 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 possua uma lista de permissões de IP do cliente extensa, consolide vários endereços IP em blocos CIDR (por exemplo,
120.209.XXX.X/24) para economizar a cota de valores de correspondência.É possível configurar até 32 valores de correspondência para User-Agent. Valores que excedam esse limite serão ignorados. Para corresponder a uma grande quantidade de User-Agents, utilize um caractere curinga (
*) para consolidar valores semelhantes (por exemplo,*Chrome*corresponde a todas as versões do navegador Chrome) ou empregue o EdgeScript para obter uma lógica de correspondência mais flexível.
Prioridade de recursos e lógica de execução
Ao configurar o mecanismo de regras, leve em consideração as seguintes prioridades de recursos e a lógica de execução:
A proteção contra hotlinking por Referer tem precedência sobre o mecanismo de regras: Quando uma requisição inclui um cabeçalho Referer, o sistema primeiro a avalia em relação às listas de bloqueios e de permissões de Referer. Se a requisição corresponder à lista de permissões, ela será permitida e o mecanismo de regras será ignorado. Caso não haja correspondência com a lista de permissões, o sistema bloqueará a requisição imediatamente. Se o cabeçalho Referer estiver vazio, a requisição contornará essa lógica e será avaliada pelo mecanismo de regras.
Ordem de execução para recursos que usam condições de regra: Quando recursos como Expiração de Cache ou Modificação de Cabeçalho de Requisição de Saída utilizam condições de regra, o sistema os executa com base na prioridade das condições associadas, e não na ordem de configuração dos recursos. Por exemplo, se Expiração de Cache e Reescrita de Parâmetros de Retorno à Origem usarem condições de regra com prioridades diferentes, o sistema as executará seguindo a prioridade da condição de regra, da maior para a menor.
-
Resolução de conflitos entre autenticação de URL e cache: Se você observar comportamentos inesperados após configurar a autenticação de URL — como requisições acessíveis sem parâmetros de autenticação ou links válidos bloqueados incorretamente —, verifique os itens abaixo nesta ordem:
Verifique se há uma lista de permissões do WAF configurada. Uma lista de permissões do WAF pode contornar a lógica de autenticação de URL do CDNDCDN, permitindo que as requisições prossigam diretamente.
Confirme se o recurso Ignorar Parâmetros de URL não está removendo parâmetros de autenticação, como
auth_key. Isso poderia fazer com que a autenticação fosse ignorada em um acerto de cache.Certifique-se de que a Regra de Chave de Cache não esteja ignorando o parâmetro de autenticação. Se isso ocorrer, requisições com parâmetros de autenticação diferentes poderão receber o mesmo conteúdo em cache, efetivamente contornando a autenticação.
Sintaxe da condição de regra
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.
Operadores lógicos
Operadores lógicos avaliam condições no mesmo nível, incluindo conjuntos de condições aninhadas. Os operadores suportados são and e or.
and: Operador lógico AND. A correspondência só é bem-sucedida se todas as condições forem verdadeiras.or: Operador lógico OR. A correspondência é bem-sucedida se pelo menos uma condição for verdadeira. Por exemplo, é possível configurar múltiplas condições de regra para o mesmo cabeçalho de resposta, adicionando-o em circunstâncias diferentes. Exemplo: Se a URI contiver/path-aor a URI contiver/path-b, o sistema adicionará o cabeçalho de resposta.
Parâmetros de uma expressão condicional
Uma expressão condicional, unidade mais granular de uma regra, inclui os seguintes parâmetros:
|
Parâmetro |
condition parâmetro da função |
Descrição |
Obrigatório |
|
Correspondência condicional |
match |
Especifica a expressão de correspondência condicional. |
Sim |
|
Operador lógico |
logic |
Define o operador lógico para a expressão de correspondência condicional. Os valores válidos são |
Sim |
|
Critérios |
criteria |
Especifica o array de expressões condicionais a serem avaliadas. |
Sim |
|
Tipo de correspondência |
MatchType |
Define o tipo de informação na requisição do cliente a ser correspondido. |
Sim |
|
Objeto de correspondência |
MatchObject |
Refina ainda mais o tipo de correspondência. Por exemplo, um endereço IP do cliente pode ser especificado como IP de conexão POP ou IP XFF. |
Não |
|
Operador de correspondência |
MatchOperator |
Define a comparação a ser realizada. |
Sim |
|
Valor de correspondência |
MatchValue |
O valor a ser comparado com os dados da requisição do cliente. |
Sim |
|
Negar condição |
negate |
Indica se o resultado da expressão condicional deve ser negado. Os valores válidos são true e false. |
Sim |
|
Sensibilidade a maiúsculas e minúsculas |
caseSensitive |
Define se o valor de correspondência diferencia maiúsculas de minúsculas. |
Não |
|
Nome da condição de regra |
name |
Especifica o nome da condição de regra. |
Sim |
|
Status |
status |
Define o status da condição de regra. |
Sim |
Configuração da expressão condicional
Tipo de correspondência | condition parâmetro da função | Descrição | Objeto de correspondência | Operador de correspondência | Valor de correspondência | Sensibilidade a maiúsculas e minúsculas | Variável Nginx |
Protocolo | scheme | O protocolo utilizado pela requisição do cliente, como HTTP ou HTTPS. | Não aplicável |
|
| Não aplicável | $scheme |
Método de requisição | method | O método de requisição utilizado pelo cliente, como GET ou PUT. | Não aplicável |
|
| Não aplicável | $request_method |
URI (caminho) | uri | O caminho na URL da requisição do cliente, excluindo quaisquer parâmetros de requisição. Por exemplo: | Não aplicável |
| Os caracteres curinga |
| $raw_uri ou $uri |
Nome do arquivo | basename | O nome do arquivo solicitado pelo cliente. Por exemplo: nome1. | Não aplicável |
| Os caracteres curinga |
| - |
Extensão de arquivo | extension | A extensão do arquivo solicitado pelo cliente. O sistema identifica a extensão como a substring do último ponto (.) até o final do nome do arquivo. Por exemplo: | Não aplicável |
| Os caracteres curinga |
| - |
Nome do host | hostname | O nome do host proveniente da requisição do cliente. Ordem de correspondência: host na URL da requisição > host no cabeçalho de requisição | Não aplicável |
| O host da requisição do cliente. É possível inserir múltiplos valores. |
| $host ou $http_host |
Endereço IP do cliente | clientip | O endereço IP do cliente. São suportados IPv4 (por exemplo, |
Nota Para mais informações sobre IP de conexão POP e IP XFF, consulte Modo de verificação de endereço IP. |
| Endereços IPv6, como 240e:XXX:3004:2:3:0:0:3f7, e blocos CIDR, como 120.209.XXX.XXX/31, são suportados. É possível inserir múltiplos valores. | Não aplicável | $remote_addr |
Versão do IP do cliente | clientipVer | A versão do IP do endereço do cliente: IPv4 ou IPv6. |
Nota Para mais informações sobre IP de conexão POP e IP XFF, consulte Modo de verificação de endereço IP. |
|
| Não aplicável | - |
Provedor de serviços de Internet (ISP) | geolocation | O ISP ao qual o endereço IP do cliente pertence. |
Nota Para mais informações sobre IP de conexão POP e IP XFF, consulte Modo de verificação de endereço IP. |
| Selecione um ISP na lista suspensa ou digite caracteres para filtrar as opções. A busca aproximada por ID ou nome é suportada. É possível inserir múltiplos valores. | Não aplicável | $ip_isp_id |
Geolocalização por IP | geolocation | A localização geográfica do endereço IP do cliente. |
Nota Para mais informações sobre IP de conexão POP e IP XFF, consulte Modo de verificação de endereço IP. |
| Selecione uma localização na lista suspensa ou digite caracteres para filtrar as opções. A busca aproximada por ID ou nome é suportada. É possível inserir múltiplos valores. | Não aplicável | $ip_country_id |
Parâmetro de requisição | querystring | Um parâmetro na URL da requisição. | Insira o nome do parâmetro. |
| Os caracteres curinga |
| $arg_{name} |
Cabeçalho de requisição | header | Um cabeçalho na requisição do cliente. | Insira um nome de parâmetro ou selecione um parâmetro na lista suspensa. |
| É possível inserir múltiplos valores. |
| $http_{name} |
Cookie | cookie | O cookie na requisição do cliente. | Insira o nome do cookie. |
| Os caracteres curinga |
| $cookie_{name} |
User-Agent | useragent | O cabeçalho | Não aplicável |
| Selecione um valor na lista suspensa ou insira um valor de User-Agent, como |
| $http_user_agent |
Faixa de intervalo | range | Corresponde a uma porcentagem especificada das requisições do cliente. | Não aplicável |
| Insira um valor percentual. | Não aplicável | - |
Hora | time | O momento em que a requisição do cliente ocorre. A hora está em UTC+8. Por exemplo, 09:10~14:22. | Não aplicável |
| Insira um intervalo de tempo, como 09:10~14:22, que representa o período das 09:10 às 14:22. | Não aplicável | - |
Variável Nginx | ngxvar | Utilize variáveis Nginx caso as variáveis anteriores não atendam aos seus requisitos. Para obter uma lista das variáveis suportadas, consulte a documentação oficial do Nginx. | Selecione uma variável na lista suspensa ou insira um nome de variável. A concatenação é suportada, como em |
| É possível inserir múltiplos valores. | Não aplicável | ${name} |
Observações comuns de configuração para expressões condicionais
Ponto inicial da correspondência de URI (caminho): Na correspondência de URI, o valor corresponde à parte do caminho que começa com o primeiro
/após o nome do domínio. Esse valor não inclui o nome do domínio nem os parâmetros de requisição. Para a requisiçãohttps://example.com/path/file.html?key=value, o valor a ser correspondido é/path/file.html. O valor de correspondência deve começar com/.Formato de correspondência de extensão de arquivo: Ao configurar uma correspondência de extensão de arquivo, o valor de correspondência deve incluir um ponto (
.). Por exemplo, para corresponder a arquivos.txt, insira.txt, e nãotxt. Caso contrário, a correspondência poderá falhar.-
Exemplos de uso de caracteres curinga: As correspondências de URI e de extensão de arquivo suportam os caracteres curinga
?(corresponde a um único caractere) e*(corresponde a zero ou mais caracteres). Exemplos comuns:/*.pdf: Corresponde a todos os arquivos PDF no diretório raiz./api/*/data: Corresponde ao caminhodataem qualquer subdiretório sob/api/..??: Corresponde a todas as extensões de arquivo de dois caracteres, como.jse.ts.
Modo de verificação de endereço IP
O mecanismo de regras oferece dois modos de verificação de endereço IP. O modo selecionado afeta a forma como os nós do CDNDCDN identificam o endereço IP do cliente:
IP de conexão POP: Este modo corresponde ao endereço IP que o cliente utiliza para se conectar a um nó do CDNDCDN. Se houver um servidor proxy entre o cliente e o nó do CDNDCDN, o IP de conexão POP será o endereço IP do servidor proxy.
IP XFF: Este modo corresponde ao endereço IP mais à esquerda no cabeçalho de requisição
x-forwarded-for. O IP XFF é sempre o endereço IP real do cliente, independentemente de haver ou não um servidor proxy entre o cliente e o nó do CDNDCDN.
A escolha do modo de verificação depende se a requisição do cliente passa por um servidor proxy antes de chegar a um nó do CDNDCDN.
Observe que o local em um nó do CDNDCDN onde um recurso entra em vigor também influencia o modo de verificação de IP. Para recursos relacionados a configurações de origem que atuam em nós L2, os nós L1 pelos quais a requisição passa são considerados servidores proxy intermediários.
Exemplo: Suponha que o endereço IP real do cliente seja 10.10.10.10 e o endereço IP do servidor proxy seja 192.168.0.1.
-
Sem servidor proxy:
O valor do cabeçalho de requisição
x-forwarded-foré10.10.10.10.O endereço IP real do cliente (o IP mais à esquerda no cabeçalho x-forwarded-for) = O endereço IP usado para estabelecer a conexão entre o cliente e o nó do CDNDCDN =
10.10.10.10.
-
Com servidor proxy:
O valor do cabeçalho de requisição
x-forwarded-foré10.10.10.10,192.168.0.1.O endereço IP real do cliente (o endereço IP mais à esquerda no cabeçalho
x-forwarded-for) é10.10.10.10.IP de conexão do cliente ao nó do CDNDCDN = IP do servidor proxy =
192.168.0.1.O endereço IP real do cliente (o primeiro endereço IP da esquerda no cabeçalho x-forwarded-for) ≠ o endereço IP da conexão do cliente ao nó do CDNDCDN.
Alguns provedores de serviços de Internet (ISPs) em regiões específicas podem atribuir endereços IP privados aos usuários finais. Como resultado, os nós podem receber um endereço IP privado do usuário.
Os endereços IP privados dividem-se em três faixas:
Endereço IP privado Classe A: 10.0.0.0 a 10.255.255.255, máscara de sub-rede: 10.0.0.0/8
Endereço IP privado Classe B: 172.16.0.0 a 172.31.255.255, máscara de sub-rede: 172.16.0.0/12
Endereço IP privado Classe C: 192.168.0.0 a 192.168.255.255, máscara de sub-rede: 192.168.0.0/16
Operadores de correspondência (matchOperator)
Operador | condition parâmetro da função | Descrição |
igual a |
| A condição é atendida apenas quando a variável é exatamente igual ou diferente do valor de correspondência especificado. |
diferente de |
| |
existe |
| A condição é atendida dependendo da existência ou não da variável especificada na requisição. |
não existe |
| |
contém qualquer um |
| A condição é atendida se a variável contiver (ou não contiver) qualquer um dos valores de correspondência especificados. São suportados no máximo 32 valores de correspondência. Dois tipos de correspondência de contenção são suportados:
|
não contém nenhum |
| |
maior que |
| Ou seja, |
menor que |
| Ou seja, |
maior ou igual a |
| Ou seja, |
menor ou igual a |
| Ou seja, |
correspondência de expressão regular |
| Corresponde a variável a uma expressão regular. Nota Se você configurar regras no console ou via OpenAPI, não poderá usar esses operadores de expressão regular. No entanto, é possível visualizar configurações existentes. Para utilizar operadores de correspondência relacionados a expressões regulares, abra um ticket ou utilize o Edge Security Acceleration (ESA). |
não correspondência de expressão regular |
|
Caracteres curinga
|
Caractere curinga |
Descrição |
Exemplo de correspondência de caminho |
|
|
Corresponde a qualquer caractere único. |
|
|
|
Corresponde a zero ou mais caracteres. |
|
Recursos que suportam condições de regra
Categoria | Recurso |
Configuração básica | |
Configurações de cache | |
Configurações de origem | |
Controle de acesso | |
Otimização de desempenho | |
Configurações de vídeo | |
Limitação de tráfego |
Gerenciamento de configurações
Gerenciamento de ações: A página Rules Engine serve apenas para definir condições de regra. Para gerenciar uma ação (como expiração de cache, reescrita de URL ou limitação de taxa), acesse a página de configurações do recurso correspondente. Por exemplo, se uma configuração de expiração de cache referenciar uma condição de regra, acesse Cache settings > Cache expiration para visualizá-la ou modificá-la.
Remote Authentication: O recurso remote authentication não pode referenciar condições de regra, o que significa que não é possível usar o Mecanismo de Regras para controlar quando ele é acionado.
Limite de tempo de autenticação: O Remote Authentication Timeout pode ser definido em no máximo 3000 milissegundos (3 segundos). O valor padrão é 500 milissegundos. Este é o valor máximo suportado pelo sistema.
Casos de uso avançados
É possível implementar as seguintes configurações avançadas com o Mecanismo de Regras:
Políticas de limitação diferenciadas: Se desejar limitar algumas requisições mas não outras (por exemplo, limitar URLs que incluam parâmetros de assinatura, mas não limitar outras URLs), ou se precisar de uma política de limitação alternativa, crie condições de regra no Rules Engine para diferenciar as requisições. Em seguida, nas configurações de Single-request throttling, referencie diferentes condições de regra e configure valores de limitação distintos.
Liberação canário baseada em IP para busca na origem: Para implementar uma liberação canário baseada em endereços IP de clientes ou rotear requisições de IPs específicos para origens diferentes, crie condições de correspondência baseadas em IP no Mecanismo de Regras. Depois, nas configurações de Conditional origin, referencie essas condições para especificar endereços de origem distintos.
Recomendação para arquiteturas de origem mista: Se você utilizar tanto o WAF quanto o OSS como origens, não os configure como múltiplas origens primárias. Em vez disso, use o Mecanismo de Regras para criar condições de correspondência baseadas em caminhos de URL. Assim, nas configurações de Conditional origin, será possível rotear dinamicamente as requisições para a origem adequada a cada caminho. Essa abordagem ajuda a prevenir conflitos.
Procedimento
Faça login no console do CDN.
No painel de navegação à esquerda, clique em Domain Names.
Na página Domain Names, localize o nome de domínio desejado e clique em Manage na coluna Actions.
Na barra de navegação à esquerda do nome de domínio especificado, clique em Rules Engine.
Clique em Add Rule.
Na página Add Rule, defina o Rule Name e o Rule Content.
Clique em Submit para concluir a configuração.
Cenários típicos de configuração
As seções a seguir descrevem como implementar dois cenários comuns de configuração.
Cenário 1: Lista de permissões de IP e redirecionamento
Objetivo: Permitir que apenas endereços IP específicos acessem seu site e redirecionar todo o restante do tráfego para uma página de manutenção.
Implementação:
No Rules Engine, crie uma condição de regra. Defina o Match Type como Client IP, o Match Operator como Does not contain any of e insira seus endereços IP permitidos como Match Value.
Em Cache Configuration > URL Rewrite, referencie essa condição de regra para redirecionar as requisições correspondentes (de endereços IP não permitidos) para a URL da página de manutenção especificada, como uma página HTML hospedada em uma origem OSS.
Observações:
Se requisições de endereços IP fora da lista de permissões retornarem um erro 403 em vez de serem redirecionadas, verifique se você configurou múltiplas origens OSS, o que pode causar conflito de origem. Recomendamos que cada domínio CDNDCDN tenha apenas uma origem OSS primária.
Certifique-se de que a URL da página de manutenção seja publicamente acessível e não esteja bloqueada por outras regras de controle de acesso.
Cenário 2: Proteção de Referer e correspondência de extensão de arquivo
Objetivo: Aplicar proteção contra hotlinking por Referer à maioria dos arquivos, isentando extensões específicas dessa verificação.
Implementação:
No Rules Engine, crie uma condição de regra. Defina o Match Type como File Extension, o Match Operator como Does not contain any of e insira as extensões de arquivo que deseja isentar (como
.pdf) como Match Value.Em Access Control > Referer Hotlink Protection, referencie essa condição de regra. Isso aplica sua lista de permissões ou bloqueios de Referer a todas as requisições, exceto aquelas para as extensões de arquivo isentas.
FAQ
Regras de Host de Origem e limite de regras
Sim. Qualquer regra aplicada a um nome de domínio conta para o limite de regras condicionais avançadas. É possível criar até 50 condições de regra por nome de domínio, e cada condição pode conter até 20 subcondições.
Definição de ações para condições do mecanismo de regras
O mecanismo de regras é utilizado para definir condições. Essas condições só entram em vigor quando vinculadas a outros recursos, como Cache Expiration Time, reescrita de parâmetros de origem ou URL Rewrite. A ação é configurada nas definições do recurso associado. Por exemplo, crie uma condição de regra para definir a lógica de correspondência e, em seguida, referencie essa regra nas configurações de Cache Expiration Time para aplicar uma política de cache apenas às requisições correspondentes.
Controle de downloads com autenticação de URL e regras
Quando a Type A authentication está ativada, utilize o mecanismo de regras para controlar o comportamento através da correspondência de parâmetros de requisição. Recomendamos configurar uma condição URL Contains para corresponder a um nome ou valor de parâmetro de negócio específico, como download=1.
Não faça correspondência nos próprios parâmetros de autenticação, pois isso pode interferir no processo de autenticação. No entanto, é seguro corresponder a outros parâmetros de negócio, como download.
Garanta que a URL final gerada inclua o parâmetro especificado em sua regra (por exemplo, http://.../video.mp4?auth_key=...&download=1) para acionar a configuração do cabeçalho de resposta correspondente e controlar o download.
Configuração de uma regra de redirecionamento 301
É possível implementar um redirecionamento de domínio criando uma regra de reescrita de URL. Configure uma condição de correspondência de URI no mecanismo de regras e utilize-a com o recurso URL Rewrite para redirecionar o tráfego de www.example.com para shop.example.com.
Redirecionamento de subdomínio para domínio de nível superior
Para isso, configure uma reescrita de URL no CDN. Siga estas etapas:
No mecanismo de regras, crie uma condição de regra. Defina o Match Type como URI (path), o Match Operator como Regular Expression Match e o Match Value como
^/(.*)$. Para usar o operador Regular Expression Match, é necessário utilizar o DCDN ou abrir um ticket para ativá-lo.No recurso URL Rewrite, defina o Target Path como
https://top-level-domain.com/$1, onde$1é o caminho capturado pela expressão regular.
Por exemplo, isso força um redirecionamento de sub.wetqt.com/any/path para https://wetqt.com/any/path.
Desativação de cache para um caminho específico com regras
Utilize um dos métodos abaixo, dependendo dos seus requisitos de correspondência:
Por extensão de arquivo: Na configuração de cache, defina o tempo de expiração como 0 para as extensões de arquivo que não devem ser armazenadas em cache. Para os arquivos que deseja manter em cache, defina uma duração apropriada (como 4 horas) e certifique-se de que as configurações para ignorar o controle de cache da origem estejam desativadas.
Por caminho: Como o console do CDN não suporta correspondência de expressão regular na URL completa, utilize uma correspondência de caminho URI no mecanismo de regras. Defina o Match Type como URI (path) e o Match Operator como Contains any of ou Does not contain any of. Os caracteres curinga
?e*podem ser usados no campo Match Value. Por exemplo, um valor de/*/no-cache/*pode corresponder a caminhos como/api/no-cache/data.
Correspondência de caminho e o / inicial
Sim. Ao usar uma correspondência de caminho (não uma correspondência de expressão regular) no mecanismo de regras, o sistema corresponde ao segmento de caminho que começa no primeiro / após o nome do domínio. Por exemplo, para a URL https://example.com/a.html, o caminho a ser correspondido é /a.html.
O CDN não suporta nativamente correspondência de expressão regular na URL completa, incluindo protocolo e domínio, como ^https?://([^/]+)/path.
Solução de problemas de correspondência de nome de arquivo para cabeçalhos de resposta
Ao configurar uma correspondência de nome de arquivo no mecanismo de regras, observe que basename e file extension são dois tipos distintos de correspondência:
Basename: Corresponde à parte do nome do arquivo sem a extensão. Por exemplo,
script(não.js).Extensão de arquivo: Corresponde ao sufixo do arquivo. Por exemplo,
.jsou.css.
Se você incluir a extensão do arquivo em uma correspondência de basename (por exemplo, script.js), a correspondência falhará. Para que funcione, remova a extensão e insira apenas o basename, como script.
Configuração de regras para corresponder a recursos estáticos
Corresponda a recursos estáticos utilizando uma correspondência de extensão de arquivo no mecanismo de regras. Siga estas etapas:
Defina o Match Type como File Extension.
Defina o Match Operator como Contains any of.
No campo Match Value, insira
.js,.css. Use vírgulas para separar múltiplas extensões.
Essa configuração corresponderá a todas as requisições para arquivos .js e .css. Adicione mais extensões se necessário, como .js,.css,.png,.jpg.