Creare un gateway applicazione con reindirizzamento da HTTP a HTTPS tramite il portale di Azure

È possibile usare il portale di Azure per creare un gateway applicazione con un certificato per la terminazione TLS. Viene usata una regola di routing per reindirizzare il traffico HTTP verso la porta HTTPS nel gateway applicazione. In questo esempio viene creato anche un set di scalabilità di macchine virtuali per il pool back-end del gateway applicazione che contiene due istanze di macchine virtuali.

In questo articolo vengono illustrate le operazioni seguenti:

  • Creare un certificato autofirmato
  • Configurare una rete
  • Creare un gateway applicazione con il certificato
  • Aggiungere un listener e una regola di reindirizzamento
  • Creare un set di scalabilità di macchine virtuali con il pool back-end predefinito

Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.

Nota

È consigliabile usare il modulo Azure Az PowerShell per interagire con Azure. Per iniziare, vedere Installare Azure PowerShell. Per informazioni su come eseguire la migrazione al modulo AZ PowerShell, vedere Eseguire la migrazione di Azure PowerShell da AzureRM ad Az.

Questa esercitazione richiede il modulo Azure PowerShell versione 1.0.0 o successiva per creare un certificato e installare IIS. Eseguire Get-Module -ListAvailable Az per trovare la versione. Se è necessario eseguire l'aggiornamento, vedere Installare e configurare Azure PowerShell. Per eseguire i comandi in questa esercitazione, è anche necessario eseguire Login-AzAccount per creare una connessione con Azure.

Creare un certificato autofirmato

Per l'uso in ambiente di produzione è necessario importare un certificato valido firmato da un provider attendibile. Per questa esercitazione viene creato un certificato autofirmato usando il comando New-SelfSignedCertificate. È possibile usare Export-PfxCertificate con l'identificazione personale restituita per esportare un file pfx dal certificato.

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

L'output sarà simile al risultato seguente:

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

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

Usare l'identificazione personale per creare il file pfx:

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

Creare un gateway applicazione

Per le comunicazioni tra le risorse create è necessaria una rete virtuale. In questo esempio vengono create due subnet: una per il gateway applicazione e l'altra per i server back-end. È possibile creare una rete virtuale durante la creazione del gateway applicazione.

  1. Accedi al portale di Azure.

  2. Fare clic su Crea una risorsa nell'angolo superiore sinistro del portale di Azure.

  3. Selezionare Rete e quindi Gateway applicazione nell'elenco In primo piano.

  4. Immettere i valori seguenti per il gateway applicazione:

    • myAppGateway come nome del gateway applicazione.

    • myResourceGroupAG come nuovo gruppo di risorse.

      Create new application gateway

  5. Accettare i valori predefiniti per le altre impostazioni e quindi fare clic su OK.

  6. Fare clic su Scegliere una rete virtuale, Crea nuova e quindi immettere i valori seguenti per la rete virtuale:

    • myVNet come nome della rete virtuale.

    • 10.0.0.0/16 come spazio indirizzi della rete virtuale.

    • myAGSubnet come nome della subnet.

    • 10.0.0.0/24 come spazio indirizzi della subnet.

      Create virtual network

  7. Fare clic su OK per creare la rete virtuale e la subnet.

  8. In Configurazione dell'indirizzo IP front-end verificare che Tipo di indirizzo IP sia impostato su pubblico e che Crea nuovo sia selezionato. Immettere myAGPublicIPAddress per il nome. Accettare i valori predefiniti per le altre impostazioni e quindi fare clic su OK.

  9. In Configurazione listener selezionare HTTPS, quindi Selezionare un file, passare al file c:\appgwcert.pfx e scegliere Apri.

  10. Digitare appgwcert per il nome del certificato e Azure123456! per la password.

  11. Lasciare disabilitato il web application firewall e quindi selezionare OK.

  12. Rivedere le impostazioni nella pagina di riepilogo e quindi fare clic su OK per creare le risorse di rete e il gateway applicazione. La creazione del gateway applicazione potrebbe richiedere alcuni minuti. Attendere il completamento della distribuzione prima di passare alla sezione successiva.

Aggiungere una subnet

  1. Selezionare Tutte le risorse nel menu a sinistra e quindi selezionare myVNet nell'elenco delle risorse.

  2. Selezionare Subnet e quindi fare clic su Subnet.

    Create subnet

  3. Digitare myBackendSubnet come nome della subnet.

  4. Digitare 10.0.2.0/24 come intervallo di indirizzi e quindi selezionare OK.

Aggiungere un listener e una regola di reindirizzamento

Aggiungere il listener

In primo luogo, aggiungere il listener denominato myListener per la porta 80.

  1. Aprire il gruppo di risorse myResourceGroupAG e selezionare myAppGateway.
  2. Selezionare Listener e quindi + Base.
  3. Digitare MyListener per il nome.
  4. Digitare httpPort come nome della nuova porta front-end e 80 per la porta.
  5. Verificare che il protocollo sia impostato su HTTP, quindi selezionare OK.

Aggiungere una regola di routing con una configurazione di reindirizzamento

  1. In myAppGateway selezionare Regole e quindi + Richiedi regola di routing.
  2. Per Nome regola digitare Rule2.
  3. Assicurarsi che come listener sia selezionato MyListener.
  4. Fare clic sulla scheda Destinazioni back-end e selezionare Tipo di destinazione come Reindirizzamento.
  5. Per Tipo di reindirizzamento, selezionare Permanente.
  6. Per Destinazione di reindirizzamento, selezionare Listener.
  7. Verificare che il Listener di destinazionesia impostato su appGatewayHttpListener.
  8. Per Includi stringa di query e Includi percorso selezionare .
  9. Seleziona Aggiungi.

Nota

appGatewayHttpListener è il nome del listener predefinito. Per altre informazioni, vedere gateway applicazione configurazione del listener.

Creare un set di scalabilità di macchine virtuali

In questo esempio viene creato un set di scalabilità di macchine virtuali per fornire i server per il pool back-end nel gateway applicazione.

  1. Selezionare + Crea una risorsa nell'angolo in alto a sinistra del portale.
  2. Selezionare Calcolo.
  3. Nella casella di ricerca digitare set di scalabilità e premere INVIO.
  4. Selezionare Set di scalabilità di macchine virtuali, quindi selezionare Crea.
  5. Per Nome del set di scalabilità di macchine virtuali digitare myvmss.
  6. Per Immagine disco del sistema operativo verificare che sia selezionato Windows Server 2016 Datacenter .
  7. Per Gruppo di risorse selezionare myResourceGroupAG.
  8. Per Nome utente digitare azureuser.
  9. Per Password digitare Azure123456! e confermare la password.
  10. Per Numero di istanze, verificare che il valore sia 2.
  11. Per la Dimensioni istanze selezionare D2s_v3.
  12. In Rete assicurarsi che Scegliere le opzioni di bilanciamento del carico sia impostato su Gateway applicazione.
  13. Assicurarsi che Gateway applicazione sia impostato su myAppGateway.
  14. Assicurarsi che Subnet sia impostato su myBackendSubnet.
  15. Seleziona Crea.

Associare il set di scalabilità al pool back-end appropriato

L'interfaccia utente del portale del set di scalabilità di macchine virtuali crea un nuovo pool back-end per il set di scalabilità, ma lo si vuole associare all'appGatewayBackendPool esistente.

  1. Aprire il gruppo di risorse myResourceGroupAG.
  2. Selezionare myAppGateway.
  3. Selezionare Pool back-end.
  4. Selezionare myAppGatewaymyvmss.
  5. Selezionare Rimuovi tutte le destinazioni dal pool back-end.
  6. Seleziona Salva.
  7. Al termine del processo, selezionare il pool back-end myAppGatewaymyvmss, selezionare Elimina e quindi OK per confermare.
  8. Selezionare appGatewayBackendPool.
  9. In Destinazioni selezionare VMSS.
  10. In VMSS selezionare myvmss.
  11. In Configurazioni dell'interfaccia di rete selezionare myvmssNic.
  12. Seleziona Salva.

Aggiornare il set di scalabilità

Infine, è necessario aggiornare il set di scalabilità con queste modifiche.

  1. Selezionare il set di scalabilità myvmss.
  2. In Impostazioni selezionare Istanze.
  3. Selezionare entrambe le istanze e quindi Aggiorna.
  4. Seleziona per confermare.
  5. Dopo il completamento, tornare a myAppGateway e selezionare Pool back-end. A questo punto appGatewayBackendPool dovrebbe avere due destinazioni e myAppGatewaymyvmss zero destinazioni.
  6. Selezionare myAppGatewaymyvmss, quindi selezionare Elimina.
  7. Seleziona OK per confermare.

Installare IIS

Un modo semplice per installare IIS nel set di scalabilità è usare PowerShell. Dal portale, fare clic sull'icona Cloud Shell e assicurarsi che PowerShell sia selezionato.

Incollare il codice seguente nella finestra di PowerShell e premere INVIO.

$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

Aggiornare il set di scalabilità

Dopo aver modificato le istanze con IIS, è necessario aggiornare di nuovo il set di scalabilità con questa modifica.

  1. Selezionare il set di scalabilità myvmss.
  2. In Impostazioni selezionare Istanze.
  3. Selezionare entrambe le istanze e quindi Aggiorna.
  4. Seleziona per confermare.

Testare il gateway applicazione

È possibile ottenere l'indirizzo IP pubblico dell'applicazione dalla pagina di panoramica del gateway applicazione.

  1. Selezionare myAppGateway.

  2. Nella pagina Panoramica prendere nota dell'indirizzo IP in Indirizzo IP pubblico front-end.

  3. Copiare l'indirizzo IP pubblico e quindi incollarlo nella barra degli indirizzi del browser. Ad esempio, usare http://52.170.203.149

    Secure warning

  4. Per accettare l'avviso di sicurezza se si è usato un certificato autofirmato, selezionare Dettagli e quindi Continua per la pagina Web. Il sito Web IIS protetto viene quindi visualizzato come illustrato nell'esempio seguente:

    Test base URL in application gateway

Passaggi successivi

Informazioni su come Creare un gateway applicazione con reindirizzamento interno.