Criar um gateway de aplicativo com redirecionamento HTTP para HTTPS usando o portal do Azure

Você pode usar o portal do Azure para criar um gateway de aplicativo com um certificado para terminação TLS. Uma regra de roteamento é usada para redirecionar o tráfego HTTP para a porta HTTPS no gateway de aplicativo. Neste exemplo, você também cria um conjunto de escala de máquina virtual para o pool de back-end do gateway de aplicativo que contém duas instâncias de máquina virtual.

Neste artigo, vai aprender a:

  • Criar um certificado autoassinado
  • Configurar uma rede
  • Criar um gateway de aplicação com o certificado
  • Adicionar um ouvinte e uma regra de redirecionamento
  • Criar um conjunto de dimensionamento de máquinas virtuais com o conjunto de back-end predefinido

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

Nota

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

Este tutorial requer o módulo do Azure PowerShell versão 1.0.0 ou posterior para criar um certificado e instalar o IIS. Executar Get-Module -ListAvailable Az para localizar a versão. Se precisar de atualizar, veja Install Azure PowerShell module (Instalar o módulo do Azure PowerShell). Para executar os comandos neste tutorial, você também precisa executar Login-AzAccount para criar uma conexão com o Azure.

Criar um certificado autoassinado

Para uso em produção, você deve importar um certificado válido assinado por um provedor confiável. Neste tutorial, crie um certificado autoassinado com New-SelfSignedCertificate. Pode utilizar Export-PfxCertificate com o Thumbprint que foi devolvido para exportar um ficheiro pfx do certificado.

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

Deverá ver algo semelhante a este resultado:

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

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

Utilize o thumbprint para criar o ficheiro pfx:

$pwd = ConvertTo-SecureString -String "Azure123456!" -Force -AsPlainText
Export-PfxCertificate `
  -cert cert:\localMachine\my\E1E81C23B3AD33F9B4D1717B20AB65DBB91AC630 `
  -FilePath c:\appgwcert.pfx `
  -Password $pwd

Criar um gateway de aplicação

Uma rede virtual é necessária para a comunicação entre os recursos que você cria. Neste exemplo, são criadas duas sub-redes: uma para o gateway de aplicação e a outra para os servidores de back-end. Pode criar uma rede virtual ao mesmo tempo que cria o gateway de aplicação.

  1. Inicie sessão no portal do Azure.

  2. Clique em Criar um recurso, no canto superior esquerdo do portal do Azure.

  3. Selecione Rede e, em seguida, selecione Gateway de Aplicação na lista Destaques.

  4. Introduza estes valores para o gateway de aplicação:

    • myAppGateway - para o nome do gateway de aplicação.

    • myResourceGroupAG - para o novo grupo de recursos.

      Create new application gateway

  5. Aceite os valores predefinidos para as outras definições e, em seguida, clique em OK.

  6. Clique em Escolher uma rede virtual, clique em Criar nova e, em seguida, introduza estes valores para a rede virtual:

    • myVNet - para o nome da rede virtual.

    • 10.0.0.0/16 - para o espaço de endereços de rede virtual.

    • myAGSubnet - para o nome da sub-rede.

    • 10.0.0.0/24 - para o espaço de endereço da sub-rede.

      Create virtual network

  7. Clique em OK para criar a rede virtual e a sub-rede.

  8. Em Configuração de IP frontend, verifique se o tipo de endereço IP é Público e se a opção Criar novo está selecionada. Digite myAGPublicIPAddress para o nome. Aceite os valores predefinidos para as outras definições e, em seguida, clique em OK.

  9. Em Configuração do ouvinte, selecione HTTPS, selecione Selecionar um arquivo, navegue até o arquivo c:\appgwcert.pfx e selecione Abrir.

  10. Digite appgwcert para o nome do certificado e Azure123456! para a senha.

  11. Deixe o firewall do aplicativo Web desativado e selecione OK.

  12. Revise as configurações na página de resumo e selecione OK para criar os recursos de rede e o gateway de aplicativo. Pode levar vários minutos para que o gateway de aplicativo seja criado, aguarde até que a implantação seja concluída com êxito antes de passar para a próxima seção.

Adicionar uma sub-rede

  1. Selecione Todos os recursos no menu à esquerda e, em seguida, selecione myVNet na lista de recursos.

  2. Selecione Sub-redes e clique em Sub-rede.

    Create subnet

  3. Digite myBackendSubnet para o nome da sub-rede.

  4. Digite 10.0.2.0/24 para o intervalo de endereços e selecione OK.

Adicionar um ouvinte e uma regra de redirecionamento

Adicionar o ouvinte

Primeiro, adicione o ouvinte chamado myListener para a porta 80.

  1. Abra o grupo de recursos myResourceGroupAG e selecione myAppGateway.
  2. Selecione Ouvintes e, em seguida, selecione + Básico.
  3. Digite MyListener para o nome.
  4. Digite httpPort para o novo nome da porta frontend e 80 para a porta.
  5. Verifique se o protocolo está definido como HTTP e selecione OK.

Adicionar uma regra de roteamento com uma configuração de redirecionamento

  1. Em myAppGateway, selecione Regras e, em seguida, selecione +Regra de roteamento de solicitação.
  2. Para o nome da regra, digite Rule2.
  3. Verifique se MyListener está selecionado para o ouvinte.
  4. Clique na guia Destinos de back-end e selecione Tipo de destino como Redirecionamento .
  5. Para Tipo de redirecionamento, selecione Permanente.
  6. Em Destino de redirecionamento, selecione Ouvinte.
  7. Verifique se o ouvinte de destino está definido como appGatewayHttpListener.
  8. Para a cadeia de caracteres de consulta Include e Include path, selecione Yes.
  9. Selecione Adicionar.

Nota

appGatewayHttpListener é o nome de ouvinte padrão. Para obter mais informações, consulte Configuração do ouvinte do Application Gateway.

Criar um conjunto de dimensionamento de máquinas virtuais

Neste exemplo, vai criar um conjunto de dimensionamento de máquinas virtuais para fornecer servidores para o conjunto de back-end no gateway de aplicação.

  1. No canto superior esquerdo do portal, selecione +Criar um recurso.
  2. Selecione Computação.
  3. Na caixa de pesquisa, digite scale set e pressione Enter.
  4. Selecione Conjunto de dimensionamento de máquina virtual e, em seguida, selecione Criar.
  5. Em Nome do conjunto de escala da máquina virtual, digite myvmss.
  6. Para a imagem de disco do sistema operacional, verifique se o Windows Server 2016 Datacenter está selecionado.
  7. Para Grupo de recursos, selecione myResourceGroupAG.
  8. Em Nome de usuário, digite azureuser.
  9. Em Password, digite Azure123456! e confirme a senha.
  10. Para contagem de instâncias, verifique se o valor é 2.
  11. Para Tamanho da instância, selecione D2s_v3.
  12. Em Rede, verifique se Escolher opções de balanceamento de carga está definido como Gateway de Aplicativo.
  13. Verifique se o gateway de aplicativo está definido como myAppGateway.
  14. Verifique se Subnet está definida como myBackendSubnet.
  15. Selecione Criar.

Associar o conjunto de escala ao pool de back-end adequado

A interface do usuário do portal do conjunto de dimensionamento de máquina virtual cria um novo pool de back-end para o conjunto de escalas, mas você deseja associá-lo ao seu appGatewayBackendPool existente.

  1. Abra o grupo de recursos myResourceGroupAg .
  2. Selecione myAppGateway.
  3. Selecione Pools de back-end.
  4. Selecione myAppGatewaymyvmss.
  5. Selecione Remover todos os destinos do pool de back-end.
  6. Selecione Guardar.
  7. Após a conclusão desse processo, selecione o pool de back-end myAppGatewaymyvmss , selecione Excluir e, em seguida , OK para confirmar.
  8. Selecione appGatewayBackendPool.
  9. Em Destinos, selecione VMSS.
  10. Em VMSS, selecione myvmss.
  11. Em Configurações da Interface de Rede, selecione myvmssNic.
  12. Selecione Guardar.

Atualizar o conjunto de escalas

Finalmente, você deve atualizar o conjunto de escala com essas alterações.

  1. Selecione o conjunto de escalas myvmss.
  2. Em Definições, selecione Instâncias.
  3. Selecione ambas as instâncias e, em seguida, selecione Atualizar.
  4. Selecione Sim para confirmar.
  5. Depois que isso for concluído, volte para o myAppGateway e selecione Pools de back-end. Agora você deve ver que o appGatewayBackendPool tem dois destinos e myAppGatewaymyvmss tem zero destinos .
  6. Selecione myAppGatewaymyvmss e, em seguida, selecione Excluir.
  7. Selecionar OK para confirmar.

Instalar o IIS

Uma maneira fácil de instalar o IIS no conjunto de escala é usar o PowerShell. No portal, clique no ícone do Cloud Shell e verifique se o PowerShell está selecionado.

Cole o código a seguir na janela do PowerShell e pressione Enter.

$publicSettings = @{ "fileUris" = (,"https://raw.githubusercontent.com/Azure/azure-docs-powershell-samples/master/application-gateway/iis/appgatewayurl.ps1"); 
  "commandToExecute" = "powershell -ExecutionPolicy Unrestricted -File appgatewayurl.ps1" }
$vmss = Get-AzVmss -ResourceGroupName myResourceGroupAG -VMScaleSetName myvmss
Add-AzVmssExtension -VirtualMachineScaleSet $vmss `
  -Name "customScript" `
  -Publisher "Microsoft.Compute" `
  -Type "CustomScriptExtension" `
  -TypeHandlerVersion 1.8 `
  -Setting $publicSettings
Update-AzVmss `
  -ResourceGroupName myResourceGroupAG `
  -Name myvmss `
  -VirtualMachineScaleSet $vmss

Atualizar o conjunto de escalas

Depois de alterar as instâncias com o IIS, você deve atualizar novamente o conjunto de escala com essa alteração.

  1. Selecione o conjunto de escalas myvmss.
  2. Em Definições, selecione Instâncias.
  3. Selecione ambas as instâncias e, em seguida, selecione Atualizar.
  4. Selecione Sim para confirmar.

Testar o gateway de aplicação

Você pode obter o endereço IP público do aplicativo na página Visão geral do gateway de aplicativo.

  1. Selecione myAppGateway.

  2. Na página Visão geral, observe o endereço IP em Endereço IP público frontend.

  3. Copie o endereço IP público e cole-o na barra de endereço do browser. Por exemplo, http://52.170.203.149

    Secure warning

  4. Para aceitar o aviso de segurança se tiver utilizado um certificado autoassinado, selecione Detalhes e, em seguida Aceda à página Web. O site IIS protegido é apresentado como no exemplo seguinte:

    Test base URL in application gateway

Próximos passos

Saiba como Criar um gateway de aplicativo com redirecionamento interno.