Condividi tramite


Configurare il servizio app con il gateway applicazione

Il Gateway Applicazioni di Azure consente di avere un'app di App Service o un altro servizio multi-tenant come membro del pool di back-end. Questo articolo descrive come configurare un'app Servizio app con il gateway applicazione. La configurazione per il gateway applicazioni varia a seconda della modalità di accesso all'App Service.

  • La prima opzione usa un dominio personalizzato sia nel gateway applicazione che nel servizio app nel back-end.
  • La seconda opzione consiste nel fare in modo che Application Gateway acceda al servizio App Service usando il relativo dominio predefinito, con suffisso ".azurewebsite.net".

Questa configurazione è consigliata per gli scenari di livello di produzione e soddisfa la procedura di non modificare il nome host nel flusso di richiesta. È necessario disporre di un dominio personalizzato (e di un certificato associato) per evitare di dover fare affidamento sul valore predefinito ". Dominio Azurewebsite".

Utilizzando lo stesso nome di dominio sia per Application Gateway che per App Service nel pool di backend, il flusso di richieste non deve eseguire l'override del nome host. L'applicazione web back-end vede l'host originale utilizzato dal client.

Panoramica dello scenario per il gateway applicazione nel servizio app usando lo stesso dominio personalizzato per entrambi

In questo articolo viene spiegato come:

  • Configurare DNS
  • Aggiungere il servizio app come pool back-end al gateway applicazione
  • Configurare le impostazioni HTTP per la connessione al servizio app
  • Configurare un listener HTTP
  • Configurare una regola di routing delle richieste

Prerequisiti

Configurazione del DNS

Nel contesto di questo scenario, DNS è rilevante in due posizioni:

  • Nome DNS, che l'utente o il client sta usando per il gateway applicazione e ciò che viene visualizzato in un browser
  • Nome DNS, usato internamente dal gateway applicazione per accedere al servizio app nel back-end

Indirizzare l'utente o il client al gateway applicazione usando il dominio personalizzato. Configurare il DNS usando un alias CNAME a cui punta il DNS per il gateway applicazione. L'indirizzo DNS del gateway applicazione viene visualizzato nella pagina di panoramica dell'indirizzo IP pubblico associato. In alternativa, creare un record A che punta direttamente all'indirizzo IP. (Per il gateway applicazione V1, l'indirizzo VIP può cambiare se si arresta e si avvia il servizio, che rende questa opzione indesiderata).

Il servizio app deve essere configurato in modo da accettare il traffico dal gateway applicazione usando il nome di dominio personalizzato come host in ingresso. Per altre informazioni su come eseguire il mapping di un dominio personalizzato al servizio app, vedere Esercitazione: Eseguire il mapping di un nome DNS personalizzato esistente al servizio app di Azure Per verificare il dominio, il servizio app richiede solo l'aggiunta di un record TXT. Non è necessaria alcuna modifica nei record CNAME o A. La configurazione DNS per il dominio personalizzato rimane indirizzata a Application Gateway.

Per accettare connessioni al servizio app tramite HTTPS, configurarne l'associazione TLS. Per altre informazioni, vedere Proteggere un nome DNS personalizzato con un'associazione TLS/SSL nel servizio app di Azure Configurare il servizio app per eseguire il pull del certificato per il dominio personalizzato da Azure Key Vault.

Aggiungere il servizio app come pool back-end

  1. Nel portale di Azure selezionare il gateway applicazione.

  2. In Pool back-end, selezionare il pool back-end.

  3. In Tipo di destinazione, selezionare Serviziapp.

  4. In Destinazione selezionare il servizio app.

    Back-end del servizio app

    Note

    L'elenco a discesa popola solo i servizi app che si trovano nella stessa sottoscrizione del gateway applicazione. Se si vuole utilizzare un App Service che si trova in una sottoscrizione diversa da quella in cui è situato l'Application Gateway, invece di scegliere App Services nell'elenco a discesa Destinazioni, scegliere l'opzione indirizzo IP o nome host e immettere il nome host (example.azurewebsites.net) del servizio app. Se si usano endpoint privati con il servizio app, è consigliabile usare invece l'FQDN o l'indirizzo IP dell'endpoint privato.

  5. Selezionare Salva.

Modificare le impostazioni HTTP per il servizio app

È necessaria un'impostazione HTTP che indica al gateway applicazione di accedere al back-end del servizio app usando il nome di dominio personalizzato. L'impostazione HTTP, per impostazione predefinita, usa il probe di integrità predefinito. Mentre i probe di integrità predefiniti inoltrano le richieste con il nome host in cui viene ricevuto il traffico, i probe di integrità possono utilizzare 127.0.0.1 come nome host per il pool back-end perché non è stato definito in modo esplicito alcun nome host. Per questo motivo, è necessario creare un probe di integrità personalizzato configurato con il nome di dominio personalizzato corretto come nome host.

Ci si connette al back-end usando HTTPS.

  1. In Impostazioni HTTP selezionare un'impostazione HTTP esistente o aggiungerne una nuova.
  2. Quando si crea una nuova impostazione HTTP, assegnare un nome
  3. Selezionare HTTPS come protocollo back-end desiderato usando la porta 443
  4. Se il certificato è firmato da un'autorità nota, selezionare "Sì" per "Certificato CA noto utente". In alternativa, aggiungere certificati radice di autenticazione/attendibili dei server back-end
  5. Assicurarsi di impostare "Esegui override con il nuovo nome host" su "No"
  6. Selezionare il test di integrità HTTPS personalizzato nel menu a discesa per "Test personalizzato".

Configurare le impostazioni H T T P per usare un dominio personalizzato per il back-end del servizio app senza eseguire l'override

Configurare un listener HTTP

Per accettare il traffico, è necessario configurare un listener. Per altre informazioni sul listener, vedere Configurazione del listener del gateway dell'applicazione.

  1. Aprire la sezione "Listener" e scegliere "Aggiungi listener" o selezionare un listener esistente da modificare
  2. Per un nuovo listener: assegnargli un nome
  3. Nell'"Indirizzo IP front-end", selezionare l'indirizzo IP su cui ascoltare.
  4. In "Porta" selezionare 443
  5. In "Protocollo" selezionare "HTTPS"
  6. In "Scegliere un certificato" selezionare "Scegliere un certificato da Key Vault". Per ulteriori informazioni, vedere Uso di Key Vault, dove è possibile trovare maggiori dettagli su come assegnare un'identità gestita e conferirle diritti sul vostro Key Vault.
    1. Assegnare un nome al certificato
    2. Selezionare l'identità gestita
    3. Selezionare l'insieme di credenziali delle chiavi da dove ottenere il certificato
    4. Selezionare il certificato
  7. In "Tipo listener" selezionare "Basic"
  8. Selezionare "Aggiungi" per aggiungere il listener

Aggiungere un listener per il traffico H T T P S

Configurare la regola di routing delle richieste

Usando il pool back-end configurato in precedenza e le impostazioni HTTP, è possibile configurare la regola di gestione delle richieste per accettare il traffico da un listener e instradarlo al pool back-end. Per questo motivo, assicurarsi di disporre di un listener HTTP o HTTPS non già associato a una regola di routing esistente.

  1. In "Regole", selezionare per aggiungere una nuova "Regola di routing della richiesta"
  2. Specificare la regola con un nome
  3. Selezionare un listener HTTP o HTTPS non ancora associato a una regola di routing esistente
  4. In "Destinazioni back-end" scegliere il pool back-end in cui è stato configurato il servizio app
  5. Configurare le impostazioni HTTP con cui il gateway applicazione deve connettersi al back-end del servizio app
  6. Selezionare "Aggiungi" per salvare questa configurazione

Aggiungere una nuova regola di gestione dal listener al pool back-end del servizio app usando le impostazioni H T T P configurate

Test

Prima di eseguire questa operazione, assicurarsi che l'integrità del back-end sia integra:

Aprire la sezione "Integrità back-end" e verificare che la colonna "Stato" indichi la combinazione per l'impostazione HTTP e il pool back-end come "Integro".

Controllare l'integrità del back-end nel portale di Azure

Passare ora all'applicazione Web usando il dominio personalizzato associato sia al gateway applicazione che al servizio app nel back-end.

Limitare l'accesso

L'app Web distribuita in questi esempi usa indirizzi IP pubblici a cui è possibile accedere direttamente da Internet. Questo facilita la risoluzione dei problemi quando si sta imparando una nuova funzionalità e si provano le novità. Tuttavia, se si intende distribuire una funzionalità nell'ambiente di produzione, è necessario aggiungere altre restrizioni. Valutare le opzioni seguenti: