Todos os produtos
Search
Central de documentação

CDN:Configure uma origem condicional

Última atualização: Oct 10, 2026

O recurso de origem condicional usa o mecanismo de regras para filtrar solicitações de usuários com base em critérios especificados, como cabeçalhos de solicitação, parâmetros de string de consulta, caminhos ou endereços IP do cliente. O CDN encaminha as solicitações que correspondem aos critérios para um endereço de origem específico. Você pode adicionar várias configurações para direcionar solicitações a diferentes origens com base em condições distintas.

Pré-requisitos

Antes de configurar uma origem condicional, crie uma condição de regra no rules engine.

Notas de uso

  • Conflito de recursos: os recursos de origem condicional e advanced origin são mutuamente exclusivos. Ative apenas um deles.

  • Suporte a curingas: no mecanismo de regras, o valor de correspondência de URI aceita os curingas * (corresponde a qualquer número de caracteres) e ? (corresponde a qualquer caractere único). A correspondência de caminho no recurso de origem avançada aceita apenas valores exatos, sem suporte a curingas.

  • Prioridade da regra e ordem de correspondência: as origens condicionais são avaliadas com base na prioridade da condição de regra associada no mecanismo de regras, e não na ordem das configurações de origem condicional. Quando uma solicitação corresponde a uma regra, a avaliação é interrompida. A prioridade da regra no mecanismo de regras é determinada pela ordem de criação: regras criadas primeiro têm maior prioridade. Para ajustar a prioridade de correspondência, exclua e recrie as regras na ordem desejada.

  • Dica de configuração de múltiplos caminhos: ao criar regras para "incluir" ou "excluir" um caminho, insira vários caminhos (em múltiplas linhas ou como múltiplos valores) no campo de valor de correspondência de uma única regra para simplificar a configuração.

  • Limite de regras: o número de condições de regra que uma origem condicional pode referenciar está sujeito a um limite global no mecanismo de regras. Para um único domínio, o número total de referências a condições de regra em todos os recursos, incluindo origem condicional, origem avançada e proteção contra hotlink baseada em Referer, não pode exceder cinco. Em cenários complexos de múltiplas origens, exceder esse limite causa falha na configuração. Planeje cuidadosamente o uso das regras ou use domínios separados para aceleração caso tenha muitas origens.

Considerações para origens OSS

  • Se uma origem for um bucket OSS, adicione o endereço em Domain Names > Basics > Origin Information e defina o tipo de origem como OSS Domain. Isso permite que o CDN faça a autenticação correta com o OSS.

  • Cenários com múltiplas origens OSS: ao configurar várias origens OSS, configure um origin Host específico para cada uma. O valor do Host deve corresponder exatamente ao domínio do bucket OSS correspondente, como dev-3mir.oss-cn-guangzhou.aliyuncs.com.

    Se o Host de origem não for configurado corretamente ou se você depender do Host de origem padrão, as solicitações poderão ser encaminhadas para o bucket errado. Isso pode causar erros 403 SignatureDoesNotMatch ou 404 Not Found. Vincule explicitamente cada regra de origem condicional, incluindo regras de correspondência e regras de fallback, à sua origem e Host de origem correspondentes. Ao configurar múltiplas origens, defina pesos iguais para as origens básicas e crie condições de regra separadas para cada origem condicional, garantindo assim um roteamento previsível.

Comparação de tipos de origem

Tanto as origens condicionais quanto as avançadas podem referenciar condições de regra do mecanismo de regras para criar políticas flexíveis de roteamento de origem. O CDN seleciona automaticamente uma origem se uma solicitação corresponder a uma condição de regra:

Tipo de origem

Condição de acionamento

origem condicional

A solicitação corresponde à condição de regra referenciada pela origem condicional.

origem avançada

A solicitação corresponde à condição de regra referenciada pela origem avançada.

origem básica

A solicitação não corresponde a nenhuma regra de origem condicional ou avançada (fallback padrão).

Failover de origem primária/secundária: após uma solicitação corresponder a uma regra de origem avançada ou condicional, o CDN execute uma busca de origem diretamente na origem especificada por essa regra. As configurações de prioridade e peso das origens básicas deixam de ser aplicadas. Para o failover de origem primária/secundária, configure as definições de prioridade e peso das origens básicas, em vez de usar uma regra de origem condicional direcionada a uma única origem.

Procedimento

  1. Faça login no CDN console.

  2. No painel de navegação à esquerda, clique em Domain Names.

  3. Na página Domain Names, encontre o nome de domínio de destino e gerencie clicando em Manage na coluna Actions.

  4. Na seção Origin Information, clique em Expand ao lado de Conditional Origin.

  5. Clique em Add Conditional Origin.

  6. Defina a Rule Condition.

    • Se for a primeira vez que você adiciona uma configuração ou se precisar, modifique uma condição de regra existente, clique em Conditional Origin na caixa de diálogo Rules Engine. Isso abre o mecanismo de regras, onde você pode adicionar ou modifique configurações. Para mais informações, consulte rules engine.

    • Se você já tiver uma condição de regra, selecione-a na lista suspensa Rule Condition.

  7. No campo Origin Address, insira o endereço de origem. O endereço de origem pode ser um endereço IP, um nome de domínio, um bucket OSS ou um endpoint do function compute (FC).

  8. Clique em OK para concluir a configuração.

Exemplo: Roteamento de solicitações /api/* para o FC

O recurso de origem avançada aceita apenas correspondência de valor exato e não oferece suporte a curingas ou expressões regulares. Para implementar o roteamento de origem baseado em caminho, use origens condicionais com o mecanismo de regras. Ao combinar o recurso de origem condicional com o mecanismo de regras e a reescrita de url, você pode rotear solicitações para o caminho /api/* para uma origem do function compute (FC), enquanto todas as outras solicitações são roteadas por padrão para uma origem OSS.

Crie uma regra no mecanismo de regras

  1. Acesse Domain Names, encontre o domínio de destino e acesse a página Rules Engine.

  2. Clique em Add Rule e configure a condição da regra conforme descrito na tabela a seguir:

    Parâmetro

    Valor

    Rule Name

    Insira um nome personalizado para fácil identificação, como api-to-fc.

    Match type

    URI

    Match operator

    Include Any

    Match value

    Clique em Edit, edite e insira */api/* e pressione Enter para adicioná-lo. Os curingas * e ? são suportados. Uma única regra aceita até 32 valores de correspondência.

    Case sensitive

    Case-insensitive (padrão)

    Importante

    Não adicione uma condição de nome de host. A condição de nome de host corresponde ao domínio da solicitação, e não à origem. Adicionar uma condição de nome de host pode impedir que a regra corresponda ao caminho após uma reescrita de url.

  3. Clique em Submit e salve a regra.

Configure a origem condicional

  1. No painel de navegação à esquerda, acesse Domain Names > Basics. Na seção Origin Information, clique no ícone de expansão ao lado de Conditional Origin.

  2. Clique em Add Conditional Origin e configure os parâmetros na caixa de diálogo conforme descrito na tabela a seguir:

    Parâmetro

    Valor

    Rule Condition

    Na lista suspensa, selecione a regra criada na Etapa 1, como api-to-fc.

    Origin Address

    Insira o endereço da sua origem do function compute (FC).

  3. Clique em OK e salve a configuração.

Configure o Host de origem

Configure um Host de origem específico para a origem do FC para garantir que o CDN envie solicitações de busca de origem com o cabeçalho Host correto.

  1. No painel de navegação à esquerda da página Domain Names, acesse a aba Origin Fetch > Configurations.

  2. Na seção Specify Origin Host, especifique os detalhes e clique em Add.

  3. Na caixa de diálogo, configure os seguintes parâmetros e clique em OK.

    Parâmetro

    Descrição

    Origin Type

    Selecione Custom Origin. Os endereços de origem configurados nas origens condicionais não aparecem na lista suspensa Basic origin address. Selecione Custom origin e insira o endereço manualmente.

    Origin Address

    Insira o endereço de origem do FC da Etapa 2.

    Origin Host Type

    Selecione o tipo de valor de Host a ser usado. Para origens FC, selecione Custom Origin Host e insira o nome de domínio manualmente.

    Origin Host

    Insira o nome de domínio do FC (por exemplo, your-fc-function.cn-hangzhou.fcapp.run).

    Para origens OSS, o valor deve corresponder exatamente ao domínio do bucket OSS (por exemplo, dev-3mir.oss-cn-guangzhou.aliyuncs.com).

    Rule Condition

    Opcional. Selecione a condição de regra criada na etapa 1 (por exemplo, api-to-fc) para limitar este Host de origem às solicitações que correspondem à regra.

Não é necessário desativar o Host de origem padrão. Quando o Host de origem padrão e o Host de origem para uma origem específica estão configurados para a mesma origem, o Host de origem da origem específica entra em vigor. Para origens que não possuem um Host de origem específico configurado, o Host de origem padrão permanece em vigor. Para mais informações, consulte origin Host.

Configure uma reescrita de url (opcional)

Se você precisar reescrever o caminho /api/ para o caminho /print/api/ na sua origem FC, também deverá usar o recurso de reescrita de url no CDN:

  1. No mecanismo de regras, configure uma regra de reescrita de url para reescrever /api/ para /print/api/.

  2. Certifique-se de que a condição de correspondência de URI no mecanismo de regras da Etapa 1 abranja o caminho reescrito. Por exemplo, use */api/* ou corresponda ao caminho específico /print/api/*.

Após concluir essas configurações, o CDN roteia as solicitações de frontend para /api/* ao service do FC, enquanto roteia outras solicitações para a origem OSS por padrão.

Exemplo: Roteamento baseado em Referer

O exemplo a seguir mostra como rotear solicitações para diferentes origens com base no cabeçalho Referer. Isso é útil para proteção contra hotlink ou para controlar o acesso com base na source da solicitação.

Crie uma condição de regra de referer

  1. Faça login no console do CDN, selecione o domínio de destino e acesse Domain Names > Rules Engine.

  2. Clique em Add Rule e configure os parâmetros conforme descrito na tabela a seguir. O mecanismo de regras não possui um tipo de correspondência dedicado para Referer. Use o tipo de correspondência Request Header para implementar a correspondência baseada em Referer:

    Parâmetro

    Valor

    Rule Name

    Insira um nome descritivo, como referer-routing.

    Match type

    Request Header

    Parameter name

    Referer

    Match operator

    Include Any

    Match value

    example.com. Este valor especifica o domínio do referer. Você pode adicionar vários domínios.

    Case sensitive

    Case-insensitive

  3. Clique em Submit e salve a regra.

Configure a origem condicional

  1. No painel de navegação à esquerda da página de gerenciamento de domínio, acesse a aba Basics. Na seção Origin Information, clique no ícone de expansão ao lado de Conditional Origin.

  2. Clique em Add Conditional Origin e configure os parâmetros na caixa de diálogo conforme descrito na tabela a seguir:

    Parâmetro

    Valor

    Rule Condition

    Na lista suspensa, selecione referer-routing.

    Origin Address

    Insira o endereço da origem para esta source de Referer.

  3. Clique em OK e salve a configuração.

Exemplo: Roteamento de usuários da China continental e fora da China continental para diferentes origens

O exemplo a seguir mostra como usar origens condicionais com o mecanismo de regras para rotear usuários da China continental e de fora da China continental para diferentes servidores de origem.

  1. Faça login no console do CDN. Na página Domain Names, encontre o domínio de destino e clique em Manage na coluna Actions. No painel de navegação à esquerda, clique em Rules Engine e, em seguida, clique em Add Rule.

  2. Configure a regra da China continental: na área de conteúdo da regra, clique no ícone de adição para adicionar uma condição de correspondência. Defina Match type como IP Location, Match operator como Include Any e clique em Modify para selecionar Chinese mainland na lista suspensa como valor de correspondência. Envie e salve a regra.

  3. Configure a regra do exterior (fallback): crie outra regra. Defina Match type como IP Location, Match operator como Exclude Any e defina o valor de correspondência como Chinese mainland. Envie e salve a regra.

  4. Configure a origem condicional: na seção Origin Information, associe cada regra à sua origem correspondente:

    • Associe a regra da China continental a uma origem doméstica (por exemplo, um bucket OSS doméstico ou um servidor doméstico).

    • Associe a regra do exterior a uma origem no exterior (por exemplo, um bucket OSS no exterior ou um servidor no exterior).

  5. Configure o Host de origem: configure um Origin Host dedicado para cada origem para garantir que o valor do Host corresponda ao domínio de origem correspondente.

    • No painel de navegação à esquerda da página de gerenciamento de domínio, acesse a aba Origin Fetch > Configurations. Na seção Specify Origin Host, especifique os detalhes e clique em Add.

    • Na caixa de diálogo Specify Origin Host, configure os seguintes parâmetros. Adicione uma entrada para cada origem:

    Parâmetro

    Valor

    Origin Type

    Custom origin. Os endereços de origem configurados nas origens condicionais não aparecem na lista suspensa Basic origin address. Selecione Custom origin e insira o endereço manualmente. Se o endereço de origem já estiver adicionado na configuração de origem básica (por exemplo, como uma origem OSS), você também pode selecionar Basic origin address e escolha na lista suspensa.

    Origin Address

    Insira o endereço de origem associado à origem condicional (por exemplo, o domínio do bucket OSS doméstico ou no exterior).

    Origin Host Type

    Custom origin Host

    Origin Host

    Insira o valor do Host que corresponde ao domínio de origem (por exemplo, bucket.oss-cn-hangzhou.aliyuncs.com).

    Rule Condition

    Selecione a condição de regra que corresponde a esta origem (por exemplo, a regra da China continental ou a regra para fora da China continental).

    Clique em OK para concluir a configuração.

Não é necessário desativar o Host de origem padrão. Quando o Host de origem padrão e o Host de origem para uma origem específica estão configurados para a mesma origem, o Host de origem da origem específica entra em vigor. Para origens que não possuem um Host de origem específico configurado, o Host de origem padrão permanece em vigor.

Recomendações

Para cenários em que usuários fora da China continental enfrentam alta latência ou conexões instáveis ao acessar origens na China continental, recomendamos o uso da aceleração de transferência do OSS para otimizar o link de busca de origem. Configure da seguinte forma:

  • Para a origem condicional da China continental, defina a origem como o endpoint público padrão do OSS (por exemplo, bucket.oss-cn-hangzhou.aliyuncs.com).

  • Para a origem condicional do exterior, defina a origem como o endpoint de Aceleração de Transferência do OSS (por exemplo, bucket.oss-accelerate.aliyuncs.com).

O OSS usa nós de aceleração distribuídos globalmente para otimizar links de transferência entre fronteiras e pode reduzir significativamente a latência de busca de origem. Para mais informações, consulte OSS Transfer Acceleration.