Pular para o conteúdo principal

Laboratório Técnico: Configure HTTP Settings

Questões

Questão 1 — Múltipla Escolha

Ao configurar um HTTP Setting no Azure Application Gateway, você precisa garantir que o gateway valide o certificado TLS apresentado pelo servidor de backend durante a comunicação. Qual configuração deve ser habilitada para atender a esse requisito?

A) Ativar Cookie-based affinity com o protocolo HTTPS no HTTP Setting

B) Habilitar Override backend path apontando para o endpoint seguro

C) Marcar a opção Use well-known CA certificate ou fornecer um certificado de autenticação personalizado no HTTP Setting

D) Configurar uma Custom probe com o protocolo HTTPS associada ao HTTP Setting


Questão 2 — Cenário Técnico

Uma equipe configurou o Azure Application Gateway para rotear requisições a dois pools de backend distintos. O pool A responde na porta 8080 e o pool B na porta 9090. Ambos usam HTTP. O HTTP Setting atual está configurado da seguinte forma:

Protocol: HTTP
Port: 8080
Request timeout: 30s
Cookie-based affinity: Disabled

Após associar esse único HTTP Setting a ambos os pools por meio de regras separadas, as requisições destinadas ao pool B começam a falhar com erros de conexão recusada. Qual é a causa mais provável?

A) O protocolo HTTP não é suportado em HTTP Settings associados a múltiplos pools simultaneamente

B) Um único HTTP Setting define uma porta fixa; como o pool B escuta na porta 9090, ele nunca receberá as requisições corretamente

C) Cookie-based affinity desabilitado impede o roteamento correto quando há mais de um pool de backend

D) O timeout de 30s é insuficiente para pools configurados em portas não padrão


Questão 3 — Verdadeiro ou Falso

Um HTTP Setting no Azure Application Gateway com o protocolo configurado como HTTPS e a opção Override with new host name definida como "Pick host name from backend target" envia o cabeçalho Host da requisição original do cliente para o servidor de backend, sem modificação.


Questão 4 — Cenário Técnico

Uma aplicação hospedada no Azure App Service está sendo exposta via Application Gateway. O time de operações relata que, após ativar o Connection draining no HTTP Setting com um timeout de 60 segundos, instâncias removidas do pool de backend ainda recebem novas conexões por alguns segundos após a remoção. O comportamento esperado não está ocorrendo. Qual análise é mais precisa sobre a situação?

A) Connection draining só funciona com o protocolo HTTPS; o HTTP Setting deve ser atualizado para funcionar corretamente

B) O connection draining controla apenas conexões já estabelecidas no momento da remoção; novas conexões para instâncias em drenagem são bloqueadas, mas pode haver um breve atraso de propagação da mudança de estado no plano de controle

C) O timeout de 60 segundos é o período em que novas conexões ainda são permitidas; apenas após esse período as novas conexões passam a ser bloqueadas

D) O connection draining requer que uma Custom probe esteja associada ao HTTP Setting para detectar a remoção da instância do pool


Questão 5 — Múltipla Escolha

Você está configurando um HTTP Setting para comunicação entre o Application Gateway e um backend que requer que o caminho da URL seja prefixado com /api/v2, independentemente do caminho enviado pelo cliente. Qual recurso do HTTP Setting atende diretamente a essa necessidade?

A) Host name override, que reescreve o cabeçalho Host para incluir o prefixo de caminho desejado

B) Override backend path, que permite definir um caminho fixo a ser usado em todas as requisições encaminhadas ao backend

C) Custom probe, configurada com o caminho /api/v2 para garantir que o backend responda nesse endpoint

D) Affinity cookie name, personalizado para refletir o prefixo de rota usado pelo backend


Gabarito e Explicações

Gabarito — Questão 1

Resposta: C

Explicação:

  • Quando o HTTP Setting usa o protocolo HTTPS para se comunicar com o backend, o Application Gateway pode ser configurado para validar o certificado TLS do servidor de backend. Para isso, é necessário habilitar Use well-known CA certificate (quando o certificado do backend é emitido por uma CA pública reconhecida) ou fazer upload de um certificado de autenticação (para CAs privadas ou certificados autoassinados).
  • A alternativa A é um equívoco comum: Cookie-based affinity controla persistência de sessão, não validação de certificado.
  • A alternativa D confunde a função da Custom probe, que serve para verificar a saúde do backend, não para estabelecer confiança TLS com ele.
  • Escolher D como resposta levaria a um gateway que monitora o backend sem nunca validar seu certificado, criando uma falsa sensação de segurança.

Gabarito — Questão 2

Resposta: B

Explicação:

  • O HTTP Setting define de forma estática a porta de destino usada para alcançar os servidores de backend. Quando um único HTTP Setting com porta 8080 é associado a dois pools, todas as conexões de saída do gateway serão estabelecidas na porta 8080, incluindo as destinadas ao pool B, que escuta apenas na 9090. O resultado é uma conexão recusada pelo pool B.
  • A solução correta é criar um HTTP Setting separado para cada pool quando as portas diferem.
  • A alternativa C é um distrator comum: a affinity não tem relação com roteamento por porta.
  • A alternativa A é tecnicamente incorreta; o protocolo HTTP não tem limitação de associação a múltiplos pools.

Gabarito — Questão 3

Resposta: Falso

Explicação:

  • Quando Override with new host name está definido como "Pick host name from backend target", o Application Gateway substitui o cabeçalho Host da requisição original pelo nome de host do servidor de backend (por exemplo, o FQDN do App Service). Isso é especialmente necessário para serviços como Azure App Service, que usam o cabeçalho Host para roteamento interno (SNI e virtual hosting).
  • Enviar o Host original do cliente para um App Service, por exemplo, geralmente resulta em erro HTTP 404 ou rejeição, porque o serviço não reconhece aquele nome de host.
  • Esse comportamento é uma fonte frequente de diagnóstico incorreto em ambientes que misturam domínios customizados com backends gerenciados.

Gabarito — Questão 4

Resposta: B

Explicação:

  • O Connection draining garante que, após uma instância ser removida do pool de backend (manualmente ou por falha de probe), o Application Gateway continue a processar as conexões já ativas naquela instância pelo período definido no timeout, enquanto bloqueia o envio de novas requisições para ela.
  • O breve atraso observado é característico da propagação de estado no plano de controle do Application Gateway, não de uma falha de configuração.
  • A alternativa C representa um equívoco perigoso: interpretar o timeout como um período de permissão para novas conexões inverte completamente a semântica do recurso.
  • A alternativa A é incorreta; connection draining funciona independentemente do protocolo configurado no HTTP Setting.

Gabarito — Questão 5

Resposta: B

Explicação:

  • O campo Override backend path no HTTP Setting permite definir um caminho fixo que substituirá o caminho presente na requisição ao ser encaminhada ao backend. Por exemplo, configurar /api/v2 fará com que toda requisição chegue ao backend com esse prefixo, independentemente do caminho original enviado pelo cliente.
  • A alternativa A é um equívoco claro: o host name override afeta o cabeçalho Host HTTP, não o caminho da URL.
  • A alternativa C confunde a função da Custom probe, que verifica disponibilidade, com a de transformação de requisição.
  • Utilizar a alternativa A levaria a um backend que receberia um cabeçalho Host malformado com um caminho embutido, comportamento indefinido e provavelmente causador de erros.