Configurar o Serviço de Aplicativo com o Gateway de Aplicativo

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

  • A primeira opção usa um domínio personalizado no Gateway de Aplicativo e no Serviço de Aplicativo no back-end.
  • A segunda opção é que o Gateway de Aplicativo acesse o Serviço de Aplicativo usando seu domínio padrão, com sufixo ".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. Você precisa ter um domínio personalizado (e um certificado associado) disponível para evitar precisar depender do 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 DNS
  • Adicione o Serviço de Aplicativo como pool de back-end do Gateway de Aplicativo
  • Defina as 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

Configuração do DNS

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

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

Roteie o usuário ou o cliente para o Gateway de Aplicativo usando o domínio personalizado. Configure o DNS usando um alias CNAME apontado para o DNS para o Gateway de Aplicativo. O DNS do Gateway de Aplicativo é 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 Gateway de Aplicativo V1, o VIP poderá mudar se você parar e iniciar o serviço, o que torna essa opção indesejável.)

O Serviço de Aplicativo deve ser configurado para que aceite o tráfego do Gateway de Aplicativo usando o nome de domínio personalizado como o 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 em CNAME ou registros A. A configuração de DNS para o domínio personalizado permanecerá direcionada para o Gateway de Aplicativo.

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 Configure o Serviço de Aplicativo para efetuar pull do certificado para o domínio personalizado do Azure Key Vault.

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

  1. No portal do Azure, selecione o gateway de aplicativo.

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

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

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

    App service backend

    Observação

    A lista suspensa popula apenas os serviços de aplicativo que estão na mesma assinatura que o Gateway de Aplicativo. Se você quiser usar um serviço de aplicativo que está em uma assinatura diferente daquela em que o Gateway de Aplicativo está, em vez de escolher Serviços de Aplicativos na lista suspensa de 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 Salvar.

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

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

Nós nos conectaremos 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, dê a ela 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 pelo usuário". Como alternativa, defina Adicionar os certificados de autenticação/certificados raiz confiáveis dos servidores de back-end
  5. Certifique-se de definir "Substituir por novo nome de host" como "Não"
  6. Selecione a investigação de integridade HTTPS personalizada no menu suspenso para "Investigação 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 ouvinte. Para obter mais informações sobre isso, consulte 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ê a ele um nome
  3. Em "IP de front-end", selecione o endereço IP a ser escutado
  4. Em "Porta", selecione 443
  5. Em "Protocolo", selecione "HTTPS"
  6. Em "Escolher um certificado", selecione "Escolher um certificado de Key Vault". Para obter mais informações, consulte Usando o Key Vault, onde você encontra mais informações sobre como atribuir uma identidade gerenciada e fornecê-la com direitos ao seu Key Vault.
    1. Dê um nome ao certificado
    2. Selecionar a identidade gerenciada
    3. Selecione o Key Vault 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 uma 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 pegar o tráfego de um ouvinte e encaminhá-lo para o pool de back-end usando as configurações HTTP. Para isso, certifique-se de que você tenha um ouvinte HTTP ou HTTPS disponível que ainda não está vinculado a uma regra de roteamento existente.

  1. Em "Regras", clique para adicionar uma nova "Regra de roteamento de solicitação"
  2. Forneça a regra com um nome
  3. Selecione um ouvinte HTTP ou HTTPS que ainda não está vinculado a uma regra de roteamento existente
  4. Em "Destinos de back-end", escolha o pool de back-end em que o Serviço de Aplicativo foi configurado
  5. Defina as configurações HTTP com as quais o Gateway de Aplicativo 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

Testando

Antes de fazermos isso, certifique-se de que a integridade do back-end seja mostrada como íntegra:

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

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 acesso

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