Konfigurera App Service med Application Gateway

Med Application Gateway kan du ha en App Service-app eller en annan tjänst för flera klientorganisationer som medlem i serverdelspoolen. I den här artikeln lär du dig att konfigurera en App Service-app med Application Gateway. Konfigurationen för Application Gateway varierar beroende på hur App Service kommer att nås:

  • Det första alternativet använder en anpassad domän på både Application Gateway och App Service i serverdelen.
  • Det andra alternativet är att ha Application Gateway-åtkomst till App Service med dess standarddomän, suffixet ".azurewebsites.net".

Den här konfigurationen rekommenderas för scenarier i produktionsklass och uppfyller praxisen att inte ändra värdnamnet i begärandeflödet. Du måste ha en anpassad domän (och associerat certifikat) tillgänglig för att undvika att behöva förlita dig på standarddomänen ".azurewebsites".

Genom att associera samma domännamn med både Application Gateway och App Service i serverdelspoolen behöver begärandeflödet inte åsidosätta värdnamnet. Serverdelswebbprogrammet ser den ursprungliga värden som användes av klienten.

Scenario overview for Application Gateway to App Service using the same custom domain for both

I den här artikeln lär du dig att:

  • Konfigurera DNS
  • Lägga till App Service som serverdelspool i Application Gateway
  • Konfigurera HTTP-Inställningar för anslutningen till App Service
  • Konfigurera en HTTP-lyssnare
  • Konfigurera en routningsregel för begäran

Förutsättningar

Konfigurera DNS

I det här scenariot är DNS relevant på två platser:

  • DNS-namnet, som användaren eller klienten använder mot Application Gateway och vad som visas i en webbläsare
  • DNS-namnet, som Application Gateway använder internt för att komma åt App Service i serverdelen

Dirigera användaren eller klienten till Application Gateway med den anpassade domänen. Konfigurera DNS med ett CNAME-alias som pekar på DNS för Application Gateway. Application Gateway DNS-adressen visas på översiktssidan för den associerade offentliga IP-adressen. Du kan också skapa en A-post som pekar direkt på IP-adressen. (För Application Gateway V1 kan VIP:en ändras om du stoppar och startar tjänsten, vilket gör det här alternativet oönstrade.)

App Service bör konfigureras så att den accepterar trafik från Application Gateway med det anpassade domännamnet som inkommande värd. Mer information om hur du mappar en anpassad domän till App Service finns i Självstudie: Mappa ett befintligt anpassat DNS-namn till Azure App Service För att verifiera domänen behöver App Service bara lägga till en TXT-post. Ingen ändring krävs för CNAME eller A-poster. DNS-konfigurationen för den anpassade domänen förblir riktad mot Application Gateway.

Om du vill acceptera anslutningar till App Service via HTTPS konfigurerar du dess TLS-bindning. Mer information finns i Skydda ett anpassat DNS-namn med en TLS/SSL-bindning i Azure App Service Konfigurera App Service för att hämta certifikatet för den anpassade domänen från Azure Key Vault.

Lägga till App Service som serverdelspool

  1. I Azure-portalen väljer du din Application Gateway.

  2. Under Serverdelspooler väljer du serverdelspoolen.

  3. Under Måltyp väljer du App Services.

  4. Under Mål väljer du din App Service.

    App service backend

    Kommentar

    Listrutan fyller bara i de apptjänster som finns i samma prenumeration som din Application Gateway. Om du vill använda en apptjänst som finns i en annan prenumeration än den där Application Gateway är, väljer du IP-adress eller värdnamn i stället för att välja App Services i listrutan Mål och anger värdnamnet (example.azurewebsites.net) för apptjänsten.

  5. Välj Spara.

Redigera HTTP-inställningar för App Service

En HTTP-inställning krävs som instruerar Application Gateway att komma åt App Service-serverdelen med det anpassade domännamnet. HTTP-inställningen använder som standard standard hälsoavsökningen. Standardhälsoavsökningar vidarebefordrar begäranden med värdnamnet där trafiken tas emot, men hälsoavsökningarna använder 127.0.0.1 som värdnamn till serverdelspoolen eftersom inget värdnamn uttryckligen har definierats. Därför måste vi skapa en anpassad hälsoavsökning som har konfigurerats med rätt anpassat domännamn som värdnamn.

Vi ansluter till serverdelen med HTTPS.

  1. Under HTTP-Inställningar väljer du en befintlig HTTP-inställning eller lägger till en ny.
  2. När du skapar en ny HTTP-inställning ger du den ett namn
  3. Välj HTTPS som önskat serverdelsprotokoll med port 443
  4. Om certifikatet är signerat av en välkänd utfärdare väljer du "Ja" för "User well known CA certificate". Du kan också lägga till autentisering/betrodda rotcertifikat för serverdelsservrar
  5. Se till att ange "Åsidosätt med nytt värdnamn" till "Nej"
  6. Välj den anpassade HTTPS-hälsoavsökningen i listrutan för "Anpassad avsökning".

Configure H T T P Settings to use custom domain towards App Service backend using No Override

Konfigurera en HTTP-lyssnare

För att acceptera trafik måste vi konfigurera en lyssnare. Mer information om detta finns i Application Gateway-lyssnarkonfiguration.

  1. Öppna avsnittet Lyssnare och välj Lägg till lyssnare eller klicka på en befintlig för att redigera
  2. För en ny lyssnare: ge den ett namn
  3. Under "Klientdels-IP" väljer du DEN IP-adress som ska lyssnas på
  4. Under "Port" väljer du 443
  5. Under "Protokoll" väljer du "HTTPS"
  6. Under "Välj ett certifikat" väljer du "Välj ett certifikat från Key Vault". Mer information finns i Använda Key Vault där du hittar mer information om hur du tilldelar en hanterad identitet och ger den behörighet till ditt Key Vault.
    1. Ge certifikatet ett namn
    2. Välj den hanterade identiteten
    3. Välj Key Vault varifrån certifikatet ska hämtas
    4. Välj certifikatet
  7. Under "Lyssnartyp" väljer du "Basic"
  8. Klicka på Lägg till för att lägga till lyssnaren

Add a listener for H T T P S traffic

Konfigurera routningsregel för begäranden

Med hjälp av den tidigare konfigurerade serverdelspoolen och HTTP-Inställningar kan begärandedirigeringsregeln konfigureras för att ta trafik från en lyssnare och dirigera den till serverdelspoolen med hjälp av HTTP-Inställningar. För detta kontrollerar du att du har en TILLGÄNGLIG HTTP- eller HTTPS-lyssnare som inte redan är bunden till en befintlig routningsregel.

  1. Under "Regler" klickar du på för att lägga till en ny "Begärandedirigeringsregel"
  2. Ange regeln med ett namn
  3. Välj en HTTP- eller HTTPS-lyssnare som ännu inte är bunden till en befintlig routningsregel
  4. Under "Serverdelsmål" väljer du den serverdelspool där App Service har konfigurerats
  5. Konfigurera DE HTTP-inställningar som Application Gateway ska ansluta till App Service-serverdelen med
  6. Välj Lägg till för att spara den här konfigurationen

Add a new Routing rule from the listener to the App Service Backend Pool using the configured H T T P Settings

Testning

Innan vi gör det kontrollerar du att serverdelshälsan visas som felfri:

Öppna avsnittet "Serverdelshälsa" och se till att kolumnen "Status" anger kombinationen för HTTP-inställning och Serverdelspoolen visas som "Felfri".

Check backend health in Azure portal

Bläddra nu till webbprogrammet med hjälp av den anpassade domän som du har associerat med både Application Gateway och App Service i serverdelen.

Begränsa åtkomst

Webbapparna som distribueras i dessa exempel använder offentliga IP-adresser som kan nås direkt från Internet. Detta hjälper dig med felsökning när du lär dig om en ny funktion och provar nya saker. Men om du tänker distribuera en funktion till produktion vill du lägga till fler begränsningar. Överväg följande alternativ:

  • Konfigurera regler för åtkomstbegränsning baserat på tjänstslutpunkter. På så sätt kan du låsa inkommande åtkomst till appen och se till att källadressen kommer från Application Gateway.
  • Använd statiska IP-begränsningar för Azure App Service. Du kan till exempel begränsa webbappen så att den bara tar emot trafik från programgatewayen. Använd funktionen ip-begränsning för apptjänsten för att lista programgatewayens VIP som den enda adressen med åtkomst.