Reescrever cabeçalhos de solicitação e resposta HTTP com o Gateway de Aplicativo do Azure - Portal do Azure

Este artigo descreve como usar o portal do Azure para configurar uma instância de SKU do Application Gateway v2 para reescrever os cabeçalhos HTTP em solicitações e respostas.

Se não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.

Antes de começar

Você precisa ter uma instância de SKU do Application Gateway v2 para concluir as etapas neste artigo. Não há suporte para reescrever cabeçalhos na SKU v1. Se você não tiver a SKU v2, crie uma instância de SKU v2 do Application Gateway antes de começar.

Criar objetos necessários

Para configurar a regravação de cabeçalho HTTP, você precisa concluir estas etapas.

  1. Crie os objetos necessários para a regravação do cabeçalho HTTP:

    • Ação de reescrita: usada para especificar os campos de cabeçalho de solicitação e solicitação que você pretende reescrever e o novo valor para os cabeçalhos. Você pode associar uma ou mais condições de regravação a uma ação de reescrita.

    • Condição de reescrita: uma configuração opcional. As condições de reescrita avaliam o conteúdo das solicitações e respostas HTTP(S). A ação de regravação ocorrerá se a solicitação ou resposta HTTP(S) corresponder à condição de regravação.

      Se você associar mais de uma condição a uma ação, a ação ocorrerá somente quando todas as condições forem atendidas. Em outras palavras, a operação é uma operação lógica E.

    • Regra de reescrita: contém várias combinações de ação de reescrita/condição de regravação.

    • Sequência de regras: ajuda a determinar a ordem em que as regras de reescrita são executadas. Essa configuração é útil quando você tem várias regras de regravação em um conjunto de reescritas. Uma regra de reescrita que tenha um valor de sequência de regra inferior é executada primeiro. Se você atribuir o mesmo valor de sequência de regras a duas regras de reescrita, a ordem de execução não será determinística.

    • Conjunto de reescrita: contém várias regras de regravação que serão associadas a uma regra de roteamento de solicitação.

  2. Anexe o conjunto de regravações a uma regra de roteamento. A configuração de regravação é anexada ao ouvinte de origem por meio da regra de roteamento. Quando você usa uma regra de roteamento básica, a configuração de reconfiguração de cabeçalho é associada a um ouvinte de origem e é uma regravação de cabeçalho global. Quando você usa uma regra de roteamento baseada em caminho, a configuração de reconfiguração de cabeçalho é definida no mapa de caminho de URL. Nesse caso, aplica-se apenas à área de caminho específica de um site.

Você pode criar vários conjuntos de regravação de cabeçalho HTTP e aplicar cada conjunto de regravação a vários ouvintes. Mas você pode aplicar apenas um conjunto de regravações a um ouvinte específico.

Iniciar sessão no Azure

Inicie sessão no portal do Azure com a sua conta do Azure.

Configurar a reconfiguração de cabeçalho

Neste exemplo, modificaremos uma URL de redirecionamento reescrevendo o cabeçalho do local na resposta HTTP enviada por um aplicativo de back-end.

  1. Selecione Todos os recursos e, em seguida, selecione seu gateway de aplicativo.

  2. Selecione Regravações no painel esquerdo.

  3. Selecione Reescrever conjunto:

    Add rewrite set

  4. Forneça um nome para o conjunto de reescrita e associe-o a uma regra de roteamento:

    • Digite o nome do conjunto de regravações na caixa Nome .

    • Selecione uma ou mais das regras listadas na lista Regras de roteamento associadas. Você pode selecionar apenas regras que não foram associadas a outros conjuntos de reescrita. As regras que já foram associadas a outros conjuntos de reescrita estão esmaecidas.

    • Selecione Seguinte.

      Add name and association

  5. Crie uma regra de reescrita:

    • Selecione Adicionar regra de reescrita.

      Add rewrite rule

    • Insira um nome para a regra de regravação na caixa Reescrever nome da regra. Insira um número na caixa Sequência de regras .

      Add rewrite rule name

  6. Neste exemplo, reescreveremos o cabeçalho do local somente quando ele contiver uma referência a azurewebsites.net. Para fazer isso, adicione uma condição para avaliar se o cabeçalho do local na resposta contém azurewebsites.net:

    • Selecione Adicionar condição e, em seguida, selecione a caixa que contém as instruções If para expandi-la.

      Add a condition

    • Na lista Tipo de variável a ser verificada, selecione Cabeçalho HTTP.

    • Na lista Tipo de cabeçalho, selecione Resposta.

    • Como neste exemplo estamos avaliando o cabeçalho do local, que é um cabeçalho comum, selecione Cabeçalho comum em Nome do cabeçalho.

    • Na lista Cabeçalho comum, selecione Local.

    • Em Diferencia maiúsculas de minúsculas, selecione Não.

    • Na lista Operador, selecione igual (=).

    • Insira um padrão de expressão regular. Neste exemplo, usaremos o padrão (https?):\/\/.*azurewebsites.net(.*)$.

    • Selecione OK.

      Configure an If condition

  7. Adicione uma ação para reescrever o cabeçalho do local:

    • Na lista Tipo de ação , selecione Definir.

    • Na lista Tipo de cabeçalho, selecione Resposta.

    • Em Nome do cabeçalho, selecione Cabeçalho comum.

    • Na lista Cabeçalho comum, selecione Local.

    • Insira o valor do cabeçalho. Neste exemplo, usaremos {http_resp_Location_1}://contoso.com{http_resp_Location_2} como o valor do cabeçalho. Esse valor substituirá azurewebsites.net por contoso.com no cabeçalho do local.

    • Selecione OK.

      Add an action

  8. Selecione Criar para criar o conjunto de reescritas:

    Select Create

  9. A visualização Reescrever conjunto será aberta. Verifique se o conjunto de regravação criado está na lista de conjuntos de regravação:

    Rewrite set view

Próximos passos

Para saber mais sobre como configurar alguns casos de uso comuns, consulte Cenários comuns de reconfiguração de cabeçalho.