Compartilhar via


Reconfiguração de URL

O Azure Front Door fornece suporte para reescrita de URL, permitindo modificar o caminho da solicitação que está sendo roteado para sua origem. Esse recurso poderoso permite definir condições que determinam quando o URL ou os cabeçalhos especificados devem ser reescritos. Essas condições baseiam-se nas informações presentes na solicitação e na resposta.

Ao usar a reescrita de URL, você pode redirecionar seus usuários finais para diferentes origens com base em fatores como o tipo de dispositivo ou o tipo de arquivo que estão solicitando. A ação de reescrita de URL pode ser facilmente configurada dentro do conjunto de regras, fornecendo a você um controle refinado sobre seu comportamento de roteamento.

Captura de tela da ação de reescrita de URL em uma configuração do conjunto de regras.

Padrão de origem

O padrão de origem representa o caminho da URL na solicitação inicial que você deseja substituir. Atualmente, o padrão de origem utiliza uma abordagem de correspondência baseada em prefixo. Para corresponder a todos os caminhos de URL, você pode especificar uma barra (/) como o valor do padrão de origem.

No contexto de uma ação de reescrita de URL, apenas o caminho após os patterns para corresponder na configuração da rota é levado em consideração para o padrão de origem. Por exemplo, o conjunto de regras considera apenas /source-pattern como o padrão de origem a ser reescrito se você tiver um formato de URL de entrada igual a contoso.com/pattern-to-match/source-pattern. Após a reescrita do URL ser aplicada, o formato do URL de saída será contoso.com/pattern-to-match/destination.

Nos casos em que você precisa remover o segmento /pattern-to-match da URL, você pode definir o caminho de origem para o grupo de origem na configuração da rota como /.

Destino

O caminho de destino representa o caminho que substitui o padrão de origem. Por exemplo, se o caminho do URL da solicitação for contoso.com/foo/1.jpg e o padrão de origem for /foo/, especificar o destino como /bar/ resulta no conteúdo sendo veiculado de contoso.com/bar/1.jpg a partir da origem.

Preservar caminho sem correspondência

Preservar caminho sem correspondência permite controlar como o caminho restante após o padrão de origem é tratado. Ao definir preserve caminho incompatível como Sim, o caminho restante é anexado ao novo caminho. Por outro lado, defini-lo como Não (padrão) removerá o caminho restante após o padrão de origem.

Aqui está um exemplo que mostra o comportamento de preservar caminho sem correspondência:

Preservar caminho sem correspondência Padrão de origem Destino Solicitação de entrada Conteúdo servido a partir da origem
Sim / /foo/ contoso.com/sub/1.jpg /foo/sub/1.jpg
Sim /sub/ /foo/ contoso.com/sub/image/1.jpg /foo/image/1.jpg
Não /sub/ /foo/2.jpg contoso.com/sub/image/1.jpg /foo/2.jpg

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).

O Azure Front Door (clássico) fornece suporte para reescrita de URL configurando um Caminho de encaminhamento personalizado ao configurar a regra de tipo de roteamento de encaminhamento. Por padrão, se apenas uma barra (/*) for definida, o Front Door replica o caminho da URL de entrada na solicitação encaminhada. O cabeçalho do host usado na solicitação encaminhada é baseado na configuração do back-end selecionado. Para obter informações mais detalhadas, veja a documentação Cabeçalho de host de back-end.

O principal aspecto da reescrita de URL reside na capacidade de copiar qualquer parte correspondente do caminho de entrada para o caminho encaminhado ao usar um caminho de encaminhamento personalizado com uma correspondência curinga. A tabela a seguir ilustra um exemplo de uma solicitação recebida e o caminho encaminhado correspondente ao utilizar um caminho de encaminhamento personalizado de /fwd/. A seção indicada como a/b/c representa a parte que substitui a correspondência curinga.

Caminho da URL de entrada Caminho da correspondência Caminho de encaminhamento personalizado Caminho encaminhado
/foo/a/b/c /foo/* /fwd/ /fwd/a/b/c

Exemplo de regeneração de URL

Considere uma regra de roteamento com a seguinte combinação de hosts de front-end e caminhos configurados:

Hosts Caminhos
www.contoso.com /*
/foo
/foo/*
/foo/bar/*

A tabela a seguir ilustra exemplos de solicitações recebidas e suas rotas correspondentes mais específicas. Ele também fornece exemplos de caminhos de encaminhamento personalizados e os caminhos encaminhados resultantes.

Por exemplo, considere a segunda linha da tabela. Se a solicitação recebida for www.contoso.com/sub e o caminho de encaminhamento personalizado estiver definido como /, o caminho encaminhado será /sub. No entanto, se o caminho de encaminhamento personalizado estiver definido como /fwd/, o caminho encaminhado será /fwd/sub. As partes enfatizadas dos caminhos indicam as partes que fazem parte da correspondência curinga

Solicitação de entrada Caminho de correspondência mais específica / /fwd/ /foo/ /foo/bar/
www.contoso.com/ /* / /fwd/ /foo/ /foo/bar/
www.contoso.com/sub /* /sub /fwd/sub /foo/sub /foo/bar/sub
www.contoso.com/a/b/c /* /a/b/c /fwd/a/b/c /foo/a/b/c /foo/bar/a/b/c
www.contoso.com/foo /foo / /fwd/ /foo/ /foo/bar/
www.contoso.com/foo/ /foo/* / /fwd/ /foo/ /foo/bar/
www.contoso.com/foo/bar /foo/* /bar /fwd/bar /foo/bar /foo/bar/bar

Observação

O Azure Front Door (clássico) só tem suporte à reescrita de URL de um caminho estático para outro caminho estático. A preservação de um caminho sem correspondência é suportada pelo Azure Front Door Standard e Premium. Para obter mais informações, confira Preservar o caminho sem correspondência.

Configurações opcionais

Configuração do cache: se estiver desabilitado ou não especificado, as solicitações que correspondem a essa regra de roteamento não tentarão usar conteúdo em cache e, em vez disso, sempre buscarão no back-end. Para obter mais informações, confira armazenamento em cache com o Azure Front Door.

Próximas etapas