Tutorial: Configurar um gateway de aplicativo com terminação TLS usando o portal do Azure

Você pode usar o portal do Azure para configurar um gateway de aplicativo com um certificado para terminação TLS que usa máquinas virtuais para servidores back-end.

Neste tutorial, irá aprender a:

  • Criar um certificado autoassinado
  • Criar um gateway de aplicação com o certificado
  • Criar as máquinas virtuais usadas como servidores back-end
  • Testar o gateway de aplicação

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

Nota

Recomendamos que utilize o módulo Azure Az do PowerShell para interagir com o Azure. Para começar, consulte Instalar o Azure PowerShell. Para saber como migrar para o módulo do Az PowerShell, veja Migrar o Azure PowerShell do AzureRM para o Az.

Pré-requisitos

  • Uma subscrição do Azure

Criar um certificado autoassinado

Nesta seção, você usa New-SelfSignedCertificate para criar um certificado autoassinado. Você carrega o certificado no portal do Azure quando cria o ouvinte para o gateway de aplicativo.

No computador local, abra uma janela do Windows PowerShell como administrador. Execute o seguinte comando para criar o certificado:

New-SelfSignedCertificate `
  -certstorelocation cert:\localmachine\my `
  -dnsname www.contoso.com

Você deve ver algo como esta resposta:

PSParentPath: Microsoft.PowerShell.Security\Certificate::LocalMachine\my

Thumbprint                                Subject
----------                                -------
E1E81C23B3AD33F9B4D1717B20AB65DBB91AC630  CN=www.contoso.com

Use Export-PfxCertificate com a impressão digital que foi retornada para exportar um arquivo pfx do certificado. Os algoritmos PFX suportados estão listados na função PFXImportCertStore. Certifique-se de que a sua palavra-passe tem entre 4 e 12 caracteres:

$pwd = ConvertTo-SecureString -String <your password> -Force -AsPlainText
Export-PfxCertificate `
  -cert cert:\localMachine\my\E1E81C23B3AD33F9B4D1717B20AB65DBB91AC630 `
  -FilePath c:\appgwcert.pfx `
  -Password $pwd

Iniciar sessão no Azure

Inicie sessão no portal do Azure.

Criar um gateway de aplicação

  1. No menu do portal do Azure, selecione + Criar um recurso>Gateway de Aplicativo de Rede>ou procure Gateway de Aplicativo na caixa de pesquisa do portal.

  2. Selecione Criar.

Separador Informações Básicas

  1. Na guia Noções básicas, insira ou selecione estes valores:

    • Grupo de recursos: Selecione myResourceGroupAG para o grupo de recursos. Se ele não existir, selecione Criar novo para criá-lo.

    • Nome do gateway de aplicativo: digite myAppGateway para o nome do gateway de aplicativo.

      Captura de tela da criação de um novo gateway de aplicativo.

  2. Para que o Azure se comunique entre os recursos que você cria, ele precisa de uma rede virtual. Você pode criar uma nova rede virtual ou usar uma existente. Neste exemplo, você criará uma nova rede virtual ao mesmo tempo em que cria o gateway de aplicativo. As instâncias do Application Gateway são criadas em sub-redes separadas. Você cria duas sub-redes neste exemplo: uma para o gateway de aplicativo e outra para os servidores back-end.

    Em Configurar rede virtual, crie uma nova rede virtual selecionando Criar nova. Na janela Criar rede virtual que se abre, insira os seguintes valores para criar a rede virtual e duas sub-redes:

    • Nome: Digite myVNet para o nome da rede virtual.

    • Nome da sub-rede (sub-rede do Application Gateway): A grade Sub-redes mostrará uma sub-rede chamada Padrão. Altere o nome desta sub-rede para myAGSubnet.
      A sub-rede do gateway de aplicativo pode conter apenas gateways de aplicativo. Não são permitidos outros recursos.

    • Nome da sub-rede (sub-rede do servidor back-end): Na segunda linha da grade Sub-redes, digite myBackendSubnet na coluna Nome da sub-rede.

    • Intervalo de endereços (sub-rede do servidor back-end): na segunda linha da Grade de Sub-redes , insira um intervalo de endereços que não se sobreponha ao intervalo de endereços de myAGSubnet. Por exemplo, se o intervalo de endereços de myAGSubnet for 10.0.0.0/24, digite 10.0.1.0/24 para o intervalo de endereços de myBackendSubnet.

    Selecione OK para fechar a janela Criar rede virtual e salvar as configurações de rede virtual.

    Captura de tela da criação de uma nova rede virtual de gateway de aplicativo.

  3. Na guia Noções básicas, aceite os valores padrão para as outras configurações e selecione Avançar: Front-ends.

Guia Frontends

  1. Na guia Frontends, verifique se o tipo de endereço IP Frontend está definido como Público.
    Você pode configurar o IP do Frontend para ser Público ou Privado de acordo com seu caso de uso. Neste exemplo, você escolherá um IP de Frontend Público.

    Nota

    Para a SKU do Application Gateway v2, você só pode escolher Configuração IP de frontend público . A configuração de IP de frontend privado não está habilitada no momento para este SKU v2.

  2. Escolha Adicionar novo para o endereço IP público e digite myAGPublicIPAddress para o nome do endereço IP público e selecione OK.

    Captura de tela da criação de um novo front-end de gateway de aplicativo.

  3. Selecione Next: Backends.

Guia Back-ends

O pool de back-end é usado para rotear solicitações para os servidores de back-end que atendem à solicitação. Os pools de back-end podem ser compostos por NICs, conjuntos de escala de máquina virtual, IPs públicos, IPs internos, FQDN (nomes de domínio totalmente qualificados) e back-ends multilocatário, como o Serviço de Aplicativo do Azure. Neste exemplo, você criará um pool de back-end vazio com seu gateway de aplicativo e, em seguida, adicionará destinos de back-end ao pool de back-end.

  1. Na guia Back-ends, selecione Adicionar um pool de back-ends.

  2. Na janela Adicionar um pool de back-end que se abre, insira os seguintes valores para criar um pool de back-end vazio:

    • Nome: insira myBackendPool para o nome do pool de back-end.
    • Adicionar pool de back-end sem destinos: selecione Sim para criar um pool de back-end sem destinos. Você adicionará destinos de back-end depois de criar o gateway de aplicativo.
  3. Na janela Adicionar um pool de back-end, selecione Adicionar para salvar a configuração do pool de back-end e retornar à guia Back-ends.

    Captura de tela da criação de um novo back-end de gateway de aplicativo.

  4. Na guia Back-ends, selecione Next: Configuration.

Separador Configuração

Na guia Configuração, você conectará o pool de front-end e back-end criado usando uma regra de roteamento.

  1. Selecione Adicionar uma regra de roteamento na coluna Regras de roteamento.

  2. Na janela Adicionar uma regra de roteamento que é aberta, digite myRoutingRule para o nome da regra.

  3. Uma regra de roteamento requer um ouvinte. Na guia Ouvinte na janela Adicionar uma regra de roteamento, insira os seguintes valores para o ouvinte:

    • Nome do ouvinte: digite myListener para o nome do ouvinte.
    • IP Frontend: Selecione Público para escolher o IP público que você criou para o frontend.
    • Protocolo: Selecione HTTPS.
    • Porta: verifique se 443 foi inserido para a porta.

    Em Configurações HTTPS:

    • Escolha um certificado - Selecione Carregar um certificado.

    • Arquivo de certificado PFX - Procure e selecione o arquivo c:\appgwcert.pfx criado anteriormente.

    • Nome do certificado - Digite mycert1 para o nome do certificado.

    • Senha - Digite a senha usada para criar o certificado.

      Aceite os valores padrão para as outras configurações na guia Ouvinte e selecione a guia Destinos de back-end para configurar o restante da regra de roteamento.

    Captura de tela da criação de um novo ouvinte de gateway de aplicativo.

  4. Na guia Destinos de back-end , selecione myBackendPool para o destino de back-end.

  5. Para a configuração HTTP, selecione Adicionar novo para criar uma nova configuração HTTP. A configuração HTTP determinará o comportamento da regra de roteamento. Na janela Adicionar uma configuração HTTP que se abre, digite myHTTPSetting para o nome da configuração HTTP. Aceite os valores padrão para as outras configurações na janela Adicionar uma configuração HTTP e selecione Adicionar para retornar à janela Adicionar uma regra de roteamento.

    Captura de tela da configuração Adicionando H T T P na guia de configuração de Criar novo gateway de aplicativo

  6. Na janela Adicionar uma regra de roteamento, selecione Adicionar para salvar a regra de roteamento e retornar à guia Configuração.

    Captura de tela da criação de uma nova regra de roteamento do gateway de aplicativo.

  7. Selecione Seguinte: Etiquetas e, em seguida, Seguinte: Rever + criar.

Separador Rever + criar

Revise as configurações na guia Revisar + criar e selecione Criar para criar a rede virtual, o endereço IP público e o gateway de aplicativo. Pode levar vários minutos para o Azure criar o gateway de aplicativo. Aguarde até que a implantação seja concluída com êxito antes de passar para a próxima seção.

Adicionar destinos de back-end

Neste exemplo, você usará máquinas virtuais como back-end de destino. Você pode usar máquinas virtuais existentes ou criar novas. Você criará duas máquinas virtuais que o Azure usa como servidores back-end para o gateway de aplicativo.

Para fazer isso, você:

  1. Crie duas novas VMs, myVM e myVM2, para serem usadas como servidores back-end.
  2. Instale o IIS nas máquinas virtuais para verificar se o gateway de aplicativo foi criado com êxito.
  3. Adicione os servidores back-end ao pool de back-end.

Criar uma máquina virtual

  1. No menu do portal do Azure, selecione + Criar um recurso>Compute>Windows Server 2016 Datacenter ou procure Windows Server na caixa de pesquisa do portal e selecione Windows Server 2016 Datacenter.

  2. Selecione Criar.

    O Application Gateway pode rotear o tráfego para qualquer tipo de máquina virtual usada em seu pool de back-end. Neste exemplo, você usa um Windows Server 2016 Datacenter.

  3. Insira esses valores na guia Noções básicas para as seguintes configurações de máquina virtual:

    • Grupo de recursos: Selecione myResourceGroupAG para o nome do grupo de recursos.
    • Nome da máquina virtual: insira myVM para o nome da máquina virtual.
    • Nome de usuário: insira um nome para o nome de usuário do administrador.
    • Palavra-passe: introduza uma palavra-passe para a conta de administrador.
  4. Aceite os outros padrões e selecione Avançar: Discos.

  5. Aceite os padrões da guia Discos e selecione Avançar: Rede.

  6. Na guia Rede, verifique se myVNet está selecionado para a rede virtual e se a Sub-rede está definida como myBackendSubnet. Aceite os outros padrões e selecione Avançar: Gerenciamento.

    O Application Gateway pode se comunicar com instâncias fora da rede virtual em que está, mas você precisa garantir que haja conectividade IP.

  7. Na guia Gerenciamento, defina Diagnóstico de inicialização como Desabilitar. Aceite os outros padrões e selecione Revisar + criar.

  8. No separador Rever + criar, reveja as definições, corrija quaisquer erros de validação e, em seguida, selecione Criar.

  9. Aguarde pela conclusão da implementação antes de continuar.

Instalar o IIS para teste

Neste exemplo, você instala o IIS nas máquinas virtuais apenas para verificar se o Azure criou o gateway de aplicativo com êxito.

  1. Abra o Azure PowerShell. Para fazer isso, selecione Cloud Shell na barra de navegação superior do portal do Azure e, em seguida, selecione PowerShell na lista suspensa.

    Captura de tela da instalação da extensão personalizada.

  2. Altere a configuração de local para seu ambiente e execute o seguinte comando para instalar o IIS na máquina virtual:

           Set-AzVMExtension `
             -ResourceGroupName myResourceGroupAG `
             -ExtensionName IIS `
             -VMName myVM `
             -Publisher Microsoft.Compute `
             -ExtensionType CustomScriptExtension `
             -TypeHandlerVersion 1.4 `
             -SettingString '{"commandToExecute":"powershell Add-WindowsFeature Web-Server; powershell Add-Content -Path \"C:\\inetpub\\wwwroot\\Default.htm\" -Value $($env:computername)"}' `
             -Location <location>
    
  3. Crie uma segunda máquina virtual e instale o IIS usando as etapas concluídas anteriormente. Use myVM2 para o nome da máquina virtual e para a configuração VMName do cmdlet Set-AzVMExtension .

Adicionar servidores de back-end ao pool de back-end

  1. Selecione Todos os recursos e, em seguida, selecione myAppGateway.

  2. Selecione Pools de back-end no menu à esquerda.

  3. Selecione myBackendPool.

  4. Em Tipo de destino, selecione Máquina virtual na lista suspensa.

  5. Em Destino, selecione a interface de rede em myVM na lista suspensa.

  6. Repita para adicionar a interface de rede para myVM2.

    Captura de tela da adição de servidores back-end.

  7. Selecione Guardar.

  8. Aguarde a conclusão da implantação antes de prosseguir para a próxima etapa.

Testar o gateway de aplicação

  1. Selecione Todos os recursos e, em seguida, selecione myAGPublicIPAddress.

    Captura de tela mostrando como localizar o endereço IP público do gateway de aplicativo.

  2. Na barra de endereços do navegador, digite https://< endereço> IP do gateway de aplicativo.

    Para aceitar o aviso de segurança se tiver utilizado um certificado autoassinado, selecione Detalhes (ou Avançado no Chrome) e, em seguida, aceda à página Web:

    Captura de ecrã de um aviso de segurança do browser.

    O site IIS protegido é apresentado como no exemplo seguinte:

    Captura de tela do teste da URL base no gateway de aplicativo.

Clean up resources (Limpar recursos)

Quando não for mais necessário, exclua o grupo de recursos e todos os recursos relacionados. Para fazer isso, selecione o grupo de recursos e selecione Excluir grupo de recursos.

Próximos passos

Neste tutorial:

  • Criado um certificado autoassinado
  • Criado um gateway de aplicativo com o certificado

Para saber mais sobre o suporte a TLS do Application Gateway, consulte TLS de ponta a ponta com o Application Gateway e a política TLS do Application Gateway.

Para saber como criar e configurar um Gateway de Aplicativo para hospedar vários sites usando o portal do Azure, avance para o próximo tutorial.