Configurar o Serviço de Aplicações com o Gateway de Aplicação

O gateway de aplicativo permite que você tenha um aplicativo do Serviço de Aplicativo ou outro serviço multilocatário como membro do pool de back-end. Neste artigo, você aprenderá a configurar um aplicativo do Serviço de Aplicativo com o Application Gateway. A configuração do Application Gateway será diferente dependendo de como o Serviço de Aplicativo será acessado:

  • A primeira opção usa um domínio personalizado no Application Gateway e no Serviço de Aplicativo no back-end.
  • A segunda opção é fazer com que o Application Gateway acesse o Serviço de Aplicativo usando seu domínio padrão, sufixo como ".azurewebsites.net".

Essa configuração é recomendada para cenários de nível de produção e atende à prática de não alterar o nome do host no fluxo de solicitação. É necessário ter um domínio personalizado (e certificado associado) disponível para evitar ter que confiar no domínio padrão ".azurewebsites".

Ao associar o mesmo nome de domínio ao Gateway de Aplicativo e ao Serviço de Aplicativo no pool de back-end, o fluxo de solicitação não precisa substituir o nome do host. O aplicativo Web de back-end verá o host original como foi usado pelo cliente.

Scenario overview for Application Gateway to App Service using the same custom domain for both

Neste artigo, você aprenderá a:

  • Configurar o DNS
  • Adicionar o Serviço de Aplicativo como pool de back-end ao Gateway de Aplicativo
  • Definir configurações HTTP para a conexão com o Serviço de Aplicativo
  • Configurar um ouvinte HTTP
  • Configurar uma regra de roteamento de solicitação

Pré-requisitos

Configurando o DNS

No contexto desse cenário, o DNS é relevante em dois lugares:

  • O nome DNS, que o usuário ou cliente está usando para o Application Gateway e o que é mostrado em um navegador
  • O nome DNS, que o Application Gateway está usando internamente para acessar o Serviço de Aplicativo no back-end

Encaminhe o usuário ou cliente para o Application Gateway usando o domínio personalizado. Configure o DNS usando um alias CNAME apontado para o DNS for Application Gateway. O endereço DNS do Application Gateway é mostrado na página de visão geral do endereço IP público associado. Como alternativa, crie um registro A apontando diretamente para o endereço IP. (Para o Application Gateway V1, o VIP pode mudar se você parar e iniciar o serviço, o que torna essa opção indesejada.)

O Serviço de Aplicativo deve ser configurado para aceitar tráfego do Application Gateway usando o nome de domínio personalizado como host de entrada. Para obter mais informações sobre como mapear um domínio personalizado para o Serviço de Aplicativo, consulte Tutorial: Mapear um nome DNS personalizado existente para o Serviço de Aplicativo do Azure Para verificar o domínio, o Serviço de Aplicativo requer apenas a adição de um registro TXT. Nenhuma alteração é necessária nos registros CNAME ou A. A configuração de DNS para o domínio personalizado permanecerá direcionada para o Application Gateway.

Para aceitar conexões com o Serviço de Aplicativo por HTTPS, configure sua associação TLS. Para obter mais informações, consulte Proteger um nome DNS personalizado com uma associação TLS/SSL no Serviço de Aplicativo do Azure Configurar o Serviço de Aplicativo para extrair o certificado para o domínio personalizado do Cofre da Chave do Azure.

Adicionar serviço de aplicativo como pool de back-end

  1. No portal do Azure, selecione seu Gateway de Aplicativo.

  2. Em Pools de back-end, selecione o pool de back-end.

  3. Em Tipo de destino, selecione Serviços de Aplicativo.

  4. Em Destino , selecione seu Serviço de Aplicativo.

    App service backend

    Nota

    A lista suspensa preenche apenas os serviços de aplicativo que estão na mesma assinatura do seu Application Gateway. Se você quiser usar um serviço de aplicativo que esteja em uma assinatura diferente daquela em que o Gateway de Aplicativo está, em vez de escolher Serviços de Aplicativo na lista suspensa Destinos, escolha a opção Endereço IP ou nome do host e insira o nome do host (example.azurewebsites.net) do serviço de aplicativo.

  5. Selecione Guardar.

Editar configurações HTTP para o Serviço de Aplicativo

É necessária uma Configuração HTTP que instrua o Gateway de Aplicativo a acessar o back-end do Serviço de Aplicativo usando o nome de domínio personalizado. A configuração HTTP usará, por padrão, a sonda de integridade padrão. Enquanto os testes de integridade padrão encaminharão solicitações com o nome do host no qual o tráfego é recebido, os testes de integridade utilizarão 127.0.0.1 como o nome do host para o Pool de Back-end, uma vez que nenhum nome de host foi explicitamente definido. Por esse motivo, precisamos criar uma sonda de integridade personalizada configurada com o nome de domínio personalizado correto como seu nome de host.

Vamos nos conectar ao back-end usando HTTPS.

  1. Em Configurações HTTP, selecione uma configuração HTTP existente ou adicione uma nova.
  2. Ao criar uma nova configuração HTTP, atribua-lhe um nome
  3. Selecione HTTPS como o protocolo de back-end desejado usando a porta 443
  4. Se o certificado for assinado por uma autoridade conhecida, selecione "Sim" para "Certificado de autoridade de certificação conhecido do usuário". Como alternativa, adicione autenticação/certificados raiz confiáveis de servidores back-end
  5. Certifique-se de definir "Substituir com novo nome de host" como "Não"
  6. Selecione a sonda de integridade HTTPS personalizada na lista suspensa para "Sonda personalizada".

Configure H T T P Settings to use custom domain towards App Service backend using No Override

Configurar um ouvinte HTTP

Para aceitar o tráfego, precisamos configurar um Listener. Para saber mais sobre isso, veja Configuração do ouvinte do Gateway de Aplicativo.

  1. Abra a seção "Ouvintes" e escolha "Adicionar ouvinte" ou clique em um existente para editar
  2. Para um novo ouvinte: dê-lhe um nome
  3. Em "Frontend IP", selecione o endereço IP para ouvir
  4. Em "Porta", selecione 443
  5. Em "Protocolo", selecione "HTTPS"
  6. Em "Escolha um certificado", selecione "Escolha um certificado do Cofre da Chave". Para obter mais informações, consulte Usando o Cofre da Chave, onde você encontra mais informações sobre como atribuir uma identidade gerenciada e fornecer direitos ao Cofre da Chave .
    1. Dê um nome ao certificado
    2. Selecione a identidade gerenciada
    3. Selecione o Cofre da Chave de onde obter o certificado
    4. Selecionar o certificado
  7. Em "Tipo de ouvinte", selecione "Básico"
  8. Clique em "Adicionar" para adicionar o ouvinte

Add a listener for H T T P S traffic

Configurar regra de roteamento de solicitação

Usando o Pool de Back-end configurado anteriormente e as Configurações HTTP, a regra de roteamento de solicitação pode ser configurada para receber tráfego de um ouvinte e roteá-lo para o Pool de Back-end usando as Configurações HTTP. Para isso, certifique-se de ter um ouvinte HTTP ou HTTPS disponível que ainda não esteja vinculado a uma regra de roteamento existente.

  1. Em "Regras", clique para adicionar uma nova "Regra de roteamento de solicitação"
  2. Fornecer um nome à regra
  3. Selecione um ouvinte HTTP ou HTTPS que ainda não esteja vinculado a uma regra de roteamento existente
  4. Em "Destinos de back-end", escolha o Pool de back-end no qual o Serviço de Aplicativo foi configurado
  5. Definir as configurações HTTP com as quais o Application Gateway deve se conectar ao back-end do Serviço de Aplicativo
  6. Selecione "Adicionar" para salvar esta configuração

Add a new Routing rule from the listener to the App Service Backend Pool using the configured H T T P Settings

Testar

Antes de fazer isso, certifique-se de que a integridade do back-end se mostre saudável:

Abra a seção "Integridade do back-end" e verifique se a coluna "Status" indica que a combinação para Configuração HTTP e Pool de back-end mostra como "Íntegro".

Check backend health in Azure portal

Agora navegue até o aplicativo Web usando o domínio personalizado que você associou ao Gateway de Aplicativo e ao Serviço de Aplicativo no back-end.

Restringir o acesso

Os aplicativos Web implantados nesses exemplos usam endereços IP públicos que podem ser acessados diretamente da Internet. Isso ajuda na solução de problemas quando você está aprendendo sobre um novo recurso e tentando coisas novas. Mas se você pretende implantar um recurso na produção, convém adicionar mais restrições. Considere as seguintes opções:

  • Configure regras de restrição de acesso com base em pontos de extremidade de serviço. Isso permite que você bloqueie o acesso de entrada ao aplicativo, certificando-se de que o endereço de origem é do Application Gateway.
  • Use as restrições de IP estático do Serviço de Aplicativo do Azure. Por exemplo, você pode restringir o aplicativo Web para que ele receba apenas tráfego do gateway de aplicativo. Use o recurso de restrição de IP do serviço de aplicativo para listar o VIP do gateway de aplicativo como o único endereço com acesso.