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

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

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

Antes de começar

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

Criar os objetos necessários

Para configurar a reescrita do cabeçalho HTTP, você precisa concluir as etapas a seguir.

  1. Criar os objetos que são necessários para a reescrita do cabeçalho HTTP:

    • Ação de reescrita: Usada para especificar os campos solicitação e cabeçalho da solicitação que você deseja reescrever e o novo valor para os cabeçalhos. Você pode associar uma ou mais condições de reescrita 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 reescrita ocorrerá se a solicitação ou resposta HTTP(S) corresponder à condição de reescrita.

      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 AND lógica.

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

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

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

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

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

Entrar no Azure

Entre no portal do Azure com sua conta do Azure.

Configurar reescrita de cabeçalho

Neste exemplo, modificaremos uma URL de redirecionamento regravando o cabeçalho de 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 Reescritas no painel esquerdo.

  3. Selecione Conjunto de reescrita:

    Add rewrite set

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

    • Insira o nome para o conjunto de reescrita na caixa Nome.

    • Escolha uma ou mais das regras relacionadas na lista Regras de roteamento associadas. Você pode selecionar apenas regras que não foram associadas a outros conjuntos de regravação. As regras que já foram associadas a outros conjuntos de regravação ficam esmaecidas.

    • Selecione Avançar.

      Add name and association

  5. Criar uma regra de reescrita:

    • Selecione Adicionar regra de reescrita.

      Add rewrite rule

    • Digite um nome para a regra de reescrita na caixa Nome da regra de reescrita. Insira um número na caixa Sequência de regras.

      Add rewrite rule name

  6. Neste exemplo, reescreveremos o título de localização somente quando ele contiver uma referência a azurewebsites.net. Para fazer isso, adicionaremos uma condição para avaliar se o cabeçalho de localização na resposta contém azurewebsites.net:

    • Selecione Adicionar condição e, em seguida, escolha 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 de local, que é um cabeçalho comum, selecione o Cabeçalho comum sob Nome do cabeçalho.

    • Na lista cabeçalho comum, selecione local.

    • Em Diferenciar 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 de local:

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

    • Na lista tipo de cabeçalho, selecione resposta.

    • Nome do cabeçalho: selecione o 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 de localização.

    • Selecione OK.

      Add an action

  8. Selecione Criar para criar o conjunto de reescrita:

    Select Create

  9. A exibição do conjunto de regravação será aberta. Verifique se o conjunto de reescrita que você criou está na lista de conjuntos de regravação:

    Rewrite set view

Próximas etapas

Para saber mais sobre como configurar alguns casos de uso comuns, confira cenários de reescrita de cabeçalho comum.