Pular para o conteúdo principal

Laboratório Técnico: Implement rules, URL rewrite, and URL redirect

Questões

Questão 1 — Múltipla Escolha

Uma equipe de plataforma precisa configurar o Azure Application Gateway para encaminhar requisições com o caminho /api/v1/users para um backend pool diferente do padrão, sem alterar o caminho enviado ao servidor de destino. Qual componente do Application Gateway deve ser criado para atender a esse requisito?

A) Uma regra de roteamento baseada em caminho (path-based routing rule) associada a um path map
B) Uma regra de reescrita (rewrite rule) com condição de correspondência no caminho da URL
C) Um listener adicional com protocolo HTTPS apontando para o novo backend pool
D) Uma regra de redirecionamento (redirect rule) com tipo Permanent para o novo pool


Questão 2 — Cenário Técnico

Um engenheiro configura o Azure Front Door para reescrever URLs antes de encaminhar requisições ao backend. A configuração aplicada é a seguinte:

Source pattern:  /loja/
Destination: /store/
Preserve unmatched path: true

Uma requisição chega com o caminho /loja/produtos/eletronicos. Qual será o caminho enviado ao backend?

A) /loja/produtos/eletronicos
B) /store/
C) /store/produtos/eletronicos
D) /store/loja/produtos/eletronicos


Questão 3 — Verdadeiro ou Falso

No Azure Application Gateway, uma regra de redirecionamento configurada com o tipo Permanent (301) e destino externo pode coexistir na mesma regra de roteamento com uma ação de reescrita de cabeçalho, sendo ambas aplicadas sequencialmente na mesma requisição.


Questão 4 — Cenário Técnico

Uma empresa migrou seu site de http://contoso.com para https://contoso.com. O time de redes configurou o Azure Application Gateway para forçar o redirecionamento HTTP para HTTPS. Após a configuração, usuários relatam que ao acessar http://contoso.com/artigos/2024 chegam em https://contoso.com sem o caminho original. O que provavelmente foi configurado incorretamente?

A) O tipo de redirecionamento foi definido como Found (302) em vez de Permanent (301)
B) A opção Include path não foi habilitada na configuração do redirecionamento
C) O listener de destino foi configurado como Multi-site em vez de Basic
D) A regra de redirecionamento foi associada a um path map em vez de à regra de roteamento principal


Questão 5 — Múltipla Escolha

Ao configurar rewrite rules no Azure Application Gateway, qual das seguintes afirmações descreve corretamente o escopo de aplicação dessas regras?

A) Rewrite rules são aplicadas globalmente a todos os listeners do gateway, independentemente da regra de roteamento
B) Rewrite rules são associadas a uma rewrite rule set, que por sua vez é vinculada a uma ou mais regras de roteamento
C) Rewrite rules só podem ser aplicadas a respostas do backend, não a requisições de entrada
D) Rewrite rules são configuradas no nível do backend pool e afetam apenas o tráfego direcionado a ele


Gabarito e Explicações

Gabarito — Questão 1

Resposta: A

O roteamento baseado em caminho utiliza um path map para associar padrões de URL a backend pools específicos. Esse mecanismo encaminha a requisição ao pool correto sem modificar o caminho, que é o comportamento exigido no enunciado.

  • A alternativa B (rewrite rule) modificaria o caminho antes de encaminhar, o que contradiz o requisito.
  • A alternativa C (listener adicional) resolve o roteamento por porta ou hostname, não por caminho.
  • A alternativa D (redirect rule) enviaria uma resposta de redirecionamento ao cliente, não encaminharia internamente ao backend.

O equívoco comum é confundir "encaminhar para backend diferente" com "reescrever URL", sendo que o primeiro é responsabilidade das regras de roteamento e o segundo é uma transformação da requisição.


Gabarito — Questão 2

Resposta: C

Quando Preserve unmatched path está habilitado no Azure Front Door, o segmento da URL que não faz parte do padrão correspondido (/produtos/eletronicos) é mantido e concatenado ao destino configurado (/store/). O resultado é /store/produtos/eletronicos.

  • A alternativa A ignoraria completamente a reescrita.
  • A alternativa B aplicaria apenas o destino sem preservar o restante do caminho, o que ocorreria se Preserve unmatched path estivesse desabilitado.
  • A alternativa D duplicaria o prefixo, o que não é o comportamento da feature.

Entender o papel de Preserve unmatched path é essencial para reescritas parciais de URL, especialmente em migrações onde apenas o prefixo do caminho muda.


Gabarito — Questão 3

Resposta: Falso

No Azure Application Gateway, uma regra de roteamento não pode conter simultaneamente uma ação de redirecionamento e uma ação de reescrita. O redirecionamento encerra o processamento da requisição no gateway e devolve uma resposta ao cliente (301 ou 302). Como a requisição nunca chega ao backend, não há ciclo de resposta sobre o qual aplicar reescritas de cabeçalho.

As rewrite rules operam sobre requisições encaminhadas ao backend ou sobre respostas retornadas por ele. Misturar redirecionamento com reescrita na mesma regra representa uma contradição funcional, e o Application Gateway não permite essa combinação.


Gabarito — Questão 4

Resposta: B

A opção Include path controla se o caminho original da URL é preservado durante o redirecionamento. Quando desabilitada, apenas o hostname de destino é usado, descartando o caminho. Por isso, /artigos/2024 é perdido e o usuário chega na raiz do site HTTPS.

  • A alternativa A (tipo 302 vs 301) afeta apenas a semântica do cache no navegador, não a preservação do caminho.
  • A alternativa C (tipo do listener) não tem relação com o comportamento de preservação de caminho no redirecionamento.
  • A alternativa D descreve um cenário de configuração válida, não um erro que causaria perda de caminho.

Além de Include path, existe também a opção Include query string, que deve ser avaliada separadamente para preservar parâmetros de URL.


Gabarito — Questão 5

Resposta: B

As rewrite rules no Application Gateway são agrupadas em uma rewrite rule set, que é vinculada explicitamente a regras de roteamento. Isso significa que o engenheiro tem controle granular: a mesma rewrite rule set pode ser reutilizada em múltiplas regras, mas ela nunca é aplicada globalmente de forma automática.

  • A alternativa A descreve um comportamento global que não existe; a vinculação é sempre explícita por regra de roteamento.
  • A alternativa C é incorreta: rewrite rules podem ser aplicadas tanto a requisições de entrada quanto a respostas do backend (cabeçalhos e corpo, conforme suporte).
  • A alternativa D confunde o escopo; rewrite rules não são configuradas no backend pool, mas na camada de roteamento do gateway.

Compreender esse modelo de vinculação evita erros de configuração onde se espera que uma reescrita se aplique a todo o tráfego, mas ela só é acionada nas regras de roteamento às quais a rule set foi associada.