Compartilhar via


Como as solicitações são correspondentes a uma configuração de rota

Uma rota no Azure Front Door define como o tráfego é tratado quando a solicitação recebida chega à borda do Azure Front Door. As configurações de rota estabelecem uma associação entre um domínio e um grupo de origem. Usando recursos avançados, como Padrão de Correspondência e Conjuntos de regras, você pode ter controle granular sobre o tráfego para seus recursos de back-end.

Observação

Ao usar os conjuntos de regras do Front Door, você pode configurar uma regra para substituir o grupo de origem de uma solicitação. O grupo de origem definido pelo conjunto de regras substitui o processo de roteamento descrito neste artigo.

Importante

O Azure Front Door (clássico) será desativado em 31 de março de 2027. Para evitar qualquer interrupção do serviço, é importante que você migre seus perfis do Azure Front Door (clássico) para a camada Azure Front Door Standard ou Premium até março de 2027. Para obter mais informações, consulte Desativação do Azure Front Door (clássico).

Quando uma solicitação chega à borda do Azure Front Door (clássico), uma das primeira etapas é determinar como rotear a solicitação correspondente para um recurso de back-end e, em seguida, executar uma ação definida na configuração de roteamento. O documento a seguir explica como o Front Door determina qual configuração de rota usar ao processar uma solicitação.

Estrutura de uma configuração de rota do Front Door

Uma regra de roteamento do Front Door é composta de duas partes principais: o "lado esquerdo" e o "lado direito". O Front Door faz a correspondência da solicitação de entrada com o lado esquerdo da rota, enquanto o lado direito define como a solicitação é processada.

Correspondência de entrada (lado esquerdo)

As propriedades a seguir determinam se a solicitação de entrada corresponde à regra de roteamento (lado esquerdo):

  • Protocolos HTTP - HTTP ou HTTPS
  • Domínio: por exemplo: www.foo.com, *.bar.com
  • Caminhos: por exemplo: /*, /users/*, /file.gif

Essas propriedades são expandidas internamente para que cada combinação de Protocolo/Domínio/Caminho seja um possível conjunto de correspondências.

Decisão de roteamento (lado direito)

A decisão de como processar a solicitação depende da possibilidade do cache estar habilitado para a rota. Se uma resposta em cache não estiver disponível, a solicitação será encaminhada para a origem apropriada.

Correspondência de rotas

Esta seção explica como o Front Door corresponde as solicitações às regras de roteamento. O princípio básico é que o Front Door sempre faz a correspondência com a solicitação mais específica avaliando as propriedades do "lado esquerdo": protocolo, domínio e caminho, nessa ordem.

Correspondência do host de front-end

O Azure Front Door utiliza a seguinte lógica para corresponder aos hosts de front-end:

  1. Verificar se há rotas com uma correspondência exata no host de front-end.
  2. Se nenhuma correspondência exata for encontrada, a solicitação será rejeitada com um erro 404: Solicitação Incorreta.

As tabelas a seguir ilustram três regras de roteamento diferentes com seus hosts e caminhos de front-end:

Regra de roteamento Hosts de front-end Caminho
Um foo.contoso.com /*
B foo.contoso.com /users/*
C www.fabrikam.com, foo.adventure-works.com /*, /images/*

A tabela a seguir mostra os resultados correspondentes para as regras de roteamento na tabela anterior:

Host de front-end de entrada Regras de roteamentos correspondentes
foo.contoso.com A, B
www.fabrikam.com C
images.fabrikam.com Erro 404: solicitação inválida
foo.adventure-works.com C
contoso.com Erro 404: solicitação inválida
www.adventure-works.com Erro 404: solicitação inválida
www.northwindtraders.com Erro 404: solicitação inválida

Correspondência de caminho

Depois que o Azure Front Door determinar o host de front-end específico e filtrar possíveis regras de roteamento, ele selecionará as regras de roteamento com base no caminho da solicitação. A lógica a seguir é usada:

  1. Verifique se há regras de roteamento com uma correspondência exata para o caminho da solicitação.
  2. Se nenhuma correspondência exata for encontrada, procure uma regra de roteamento com um caminho curinga correspondente.
  3. Se nenhum caminho de correspondência for encontrado, a solicitação será rejeitada com um erro 404: Solicitação Inválida.

Observação

O * de caracteres curinga só é válido para caminhos que não tenham outros caracteres depois dele. Além disso, o caractere curinga * deve ser precedido por uma barra /. Caminhos sem um caractere curinga são considerados caminhos de correspondência exata. Um caminho que termina em uma barra / também é um caminho de correspondência exata. Certifique-se de que seus caminhos sigam essas regras para evitar erros.

Observação

  • Caminhos sem um caractere curinga são considerados caminhos de correspondência exata. Um caminho que termina com um / também é uma correspondência exata.
  • Os padrões de caminho não diferenciam maiúsculas de minúsculas. Por exemplo, /FOO e /foo são tratados como duplicatas e não têm permissão nos Padrões para corresponder à configuração.

A tabela a seguir lista as regras de roteamento com suas combinações de host de front-end e caminho:

Regra de roteamento Host de front-end Caminho
Um www.contoso.com /
B www.contoso.com /*
C www.contoso.com /ab
D www.contoso.com /abc
E www.contoso.com /abc/
F www.contoso.com /abc/*
G www.contoso.com /abc/def
H www.contoso.com /path/

A tabela a seguir mostra qual regra de roteamento corresponde a uma solicitação de entrada na borda do Azure Front Door:

Solicitação de entrada Rota correspondente
www.contoso.com/ Um
www.contoso.com/a B
www.contoso.com/ab C
www.contoso.com/abc D
www.contoso.com/abzzz B
www.contoso.com/abc/ E
www.contoso.com/abc/d F
www.contoso.com/abc/def G
www.contoso.com/abc/defzzz| F
www.contoso.com/abc/def/ghi| F
www.contoso.com/path B
www.contoso.com/path/ H
www.contoso.com/path/zzz B

Aviso

Se não houver regras de roteamento para um host de front-end de correspondência exata sem um caminho de rota abrangente (/*), nenhuma regra de roteamento será correspondente.

Exemplo de configuração:

Rota Host Caminho
Um profile.contoso.com /api/*

Tabela de correspondência:

Solicitação de entrada Rota correspondente
profile.domain.com/other Nenhum. Erro 404: solicitação inválida

Decisão de roteamento

Assim que o Azure Front Door corresponder a uma regra de roteamento, ele decidirá como processar a solicitação. Se uma resposta armazenada em cache estiver disponível, ela será retornada ao cliente.

Se um conjunto de regras estiver configurado para a regra de roteamento correspondente, ele será processado em ordem. Os conjuntos de regras podem substituir uma rota forçando o tráfego para um grupo de origem específico. Se nenhum conjunto de regras for definido, a solicitação será encaminhada para o grupo de origem sem alterações.

Se o Azure Front Door (clássico) não tiver uma resposta armazenada em cache, ele verificará se há uma configuração de reescrita de URL. Se nenhum caminho de encaminhamento personalizado for definido, a solicitação será encaminhada para o back-end apropriado no pool de back-end configurado. Se um caminho de encaminhamento personalizado for definido, o caminho da solicitação será atualizado adequadamente e encaminhado para o back-end.

Próximas etapas