Integrera en ILB App Service-miljö med Azure Application Gateway

App Service-miljön är en distribution av Azure App Service i undernätet för kundens virtuella Azure-nätverk. Den kan distribueras med en extern eller intern slutpunkt för appåtkomst. Distributionen av App Service-miljön med en intern slutpunkt kallas för en intern lastbalanserare (ILB) App Service-miljö (ASE).

Brandväggar för webbprogram hjälper dig att skydda dina webbprogram genom att inspektera inkommande webbtrafik för att blockera SQL-inmatningar, skript mellan webbplatser, uppladdning av skadlig kod och program-DDoS och andra attacker. Du kan hämta en WAF-enhet från Azure Marketplace eller använda Azure Application Gateway.

Azure Application Gateway är en virtuell installation som tillhandahåller layer 7-belastningsutjämning, TLS/SSL-avlastning och waf-skydd (web application firewall). Den kan lyssna på en offentlig IP-adress och dirigera trafik till programslutpunkten. Följande information beskriver hur du integrerar en WAF-konfigurerad programgateway med en app i en ILB App Service-miljö.

Integreringen av programgatewayen med ILB App Service-miljön är på appnivå. När du konfigurerar programgatewayen med din ILB App Service-miljö gör du det för specifika appar i din ILB App Service-miljö. Med den här tekniken kan du hantera säkra program med flera klienter i en enda ILB App Service-miljö.

Screenshot of High level integration diagram

I den här genomgången kommer du att:

  • Skapa en Azure Application Gateway.
  • Konfigurera programgatewayen så att den pekar på en app i din ILB App Service-miljö.
  • Redigera det offentliga DNS-värdnamnet som pekar på din programgateway.

Förutsättningar

För att integrera din programgateway med din ILB App Service-miljö behöver du:

  • En ILB App Service-miljö.
  • En privat DNS-zon för ILB App Service-miljön.
  • En app som körs i ILB App Service-miljön.
  • Ett offentligt DNS-namn som används senare för att peka på din programgateway.
  • Om du behöver använda TLS/SSL-kryptering till programgatewayen krävs ett giltigt offentligt certifikat som används för att binda till din programgateway.

ILB App Service-miljö

Mer information om hur du skapar en ILB App Service-miljö finns i Skapa en ASE i Azure-portalen och Skapa en ASE med ARM-mall.

  • När ILB ASE har skapats är <YourAseName>.appserviceenvironment.netstandarddomänen .

    Screenshot of ILB ASE Overview

  • En intern lastbalanserare etableras för inkommande åtkomst. Du kan kontrollera den inkommande adressen i IP-adresserna under ASE-Inställningar. Du kan skapa en privat DNS-zon som mappas till den här IP-adressen senare.

    Screenshot of getting the inbound address from ILB ASE IP addresses settings.

En privat DNS-zon

Du behöver en privat DNS-zon för intern namnmatchning. Skapa den med hjälp av ASE-namnet med hjälp av postuppsättningarna som visas i följande tabell (anvisningar finns i Snabbstart – Skapa en privat DNS-zon i Azure med Hjälp av Azure-portalen).

Namn Typ Värde
* A INKOMMANDE ASE-adress
@ A INKOMMANDE ASE-adress
@ SOA ASE DNS-namn
*.Scm A INKOMMANDE ASE-adress

App Service på ILB ASE

Du måste skapa en App Service-plan och en app i din ILB ASE. När du skapar appen i portalen väljer du din ILB ASE som region.

Ett offentligt DNS-namn till programgatewayen

Om du vill ansluta till programgatewayen från Internet behöver du ett dirigerbart domännamn. I det här fallet använde jag ett dirigerbart domännamn asabuludemo.com och planerade att ansluta till en App Service med det här domännamnet app.asabuludemo.com. IP-adressen som mappas till det här appdomännamnet måste anges till den offentliga IP-adressen för Application Gateway när programgatewayen har skapats. Med en offentlig domän mappad till programgatewayen behöver du inte konfigurera en anpassad domän i App Service. Du kan köpa ett anpassat domännamn med App Service-domäner.

Ett giltigt offentligt certifikat

För säkerhetsförbättringar rekommenderar vi att du binder TLS/SSL-certifikat för sessionskryptering. För att binda TLS/SSL-certifikatet till programgatewayen krävs ett giltigt offentligt certifikat med följande information. Med App Service-certifikat kan du köpa ett TLS/SSL-certifikat och exportera det i .pfx-format.

Name Värde beskrivning
Eget namn <yourappname>.<yourdomainname>, till exempel: app.asabuludemo.com
eller *.<yourdomainname>, till exempel: *.asabuludemo.com
Ett standardcertifikat eller ett jokerteckencertifikat för programgatewayen
Alternativt namn på ämne <yourappname>.scm.<yourdomainname>, till exempel: app.scm.asabuludemo.com
eller *.scm.<yourdomainname>, till exempel: *.scm.asabuludemo.com
SAN som gör det möjligt att ansluta till App Service kudu-tjänsten. Det är en valfri inställning om du inte vill publicera App Service kudu-tjänsten på Internet.

Certifikatfilen ska ha en privat nyckel och sparas i .pfx-format. Den importeras till programgatewayen senare.

Skapa en programgateway

Grundläggande skapande av programgateway finns i Självstudie: Skapa en programgateway med en brandvägg för webbprogram med hjälp av Azure-portalen.

I den här självstudien använder vi Azure-portalen för att skapa en programgateway med ILB App Service-miljön.

I Azure-portalen väljer du Ny>nätverksprogramgateway> för att skapa en programgateway.

  1. Grundläggande inställning

    I listrutan Nivå kan du välja Standard V2 eller WAF V2 för att aktivera WAF-funktionen på programgatewayen.

  2. Klientdelsinställning

    Välj IP-adresstyp för klientdelen till Offentlig, Privat eller Båda . Om du ställer in på Privat eller Båda måste du tilldela en statisk IP-adress i programgatewayens undernätsintervall. I det här fallet anger vi endast offentlig IP-adress för offentlig slutpunkt.

    • Offentlig IP-adress – Du måste associera en offentlig IP-adress för den offentliga åtkomsten till programgatewayen. Registrera den här IP-adressen. Du måste lägga till en post i DNS-tjänsten senare.

      Screenshot of getting a public IP address from the application gateway frontends setting.

  3. Inställning för serverdelar

    Ange ett serverdelspoolnamn och välj App Services eller IP-adress eller FQDN i Måltyp. I det här fallet anger vi apptjänster och väljer App Service-namn i listrutan mål.

    Screenshot of adding a backend pool name in backends setting.

  4. Konfigurationsuppsättning

    I konfigurationsinställningen måste du lägga till en routningsregel genom att välja Ikonen Lägg till en routningsregel .

    Screenshot of adding a routing rule in configuration setting.

    Du måste konfigurera en lyssnare och serverdelsmål i en routningsregel. Du kan lägga till en HTTP-lyssnare för konceptbevisdistribution eller lägga till en HTTPS-lyssnare för säkerhetsförbättringar.

    • Om du vill ansluta till programgatewayen med HTTP-protokollet kan du skapa en lyssnare med följande inställningar.

      Parameter Värde beskrivning
      Regelnamn Till exempel: http-routingrule Routningsnamn
      Lyssnarnamn Till exempel: http-listener Lyssnarnamn
      Klientdels-IP Offentliga För internetåtkomst anger du till Offentlig
      Protokoll HTTP Använd inte TLS/SSL-kryptering
      Port 80 Http-standardport
      Lyssnartyp Flera webbplatser Tillåt att lyssna på flera platser på programgatewayen
      Host type Flera/jokertecken Ange ett namn på flera webbplatser eller jokertecken om lyssnartypen är inställd på flera webbplatser.
      Värdnamn Till exempel: app.asabuludemo.com Ange till ett dirigerbart domännamn för App Service

      Screenshot of HTTP Listener of the application gateway Routing Rule.

    • Om du vill ansluta till programgatewayen med TLS/SSL-kryptering kan du skapa en lyssnare med följande inställningar.

      Parameter Värde beskrivning
      Regelnamn Till exempel: https-routingrule Routningsnamn
      Lyssnarnamn Till exempel: https-listener Lyssnarnamn
      Klientdels-IP Offentliga För internetåtkomst anger du till Offentlig
      Protokoll HTTPS Använda TLS/SSL-kryptering
      Port 443 Https-standardport
      HTTPS-inställningar Ladda upp ett certifikat Ladda upp ett certifikat innehåller CN och den privata nyckeln med pfx-format.
      Lyssnartyp Flera webbplatser Tillåt att lyssna på flera platser på programgatewayen
      Host type Flera/jokertecken Ange ett namn på flera webbplatser eller jokertecken om lyssnartypen är inställd på flera webbplatser.
      Värdnamn Till exempel: app.asabuludemo.com Ange till ett dirigerbart domännamn för App Service

      HTTPS listener of the application gateway Routing Rule.

    • Du måste konfigurera en serverdelspool och HTTP-inställning i Serverdelsmål. Serverdelspoolen konfigurerades i tidigare steg. Välj Lägg till ny länk för att lägga till en HTTP-inställning.

      Screenshot of adding new link to add an H T T P setting.

    • HTTP-inställningar som anges nedan:

      Parameter Värde beskrivning
      HTTP-inställningsnamn Till exempel: https-setting HTTP-inställningsnamn
      Serverdelsprotokoll HTTPS Använda TLS/SSL-kryptering
      Serverdelsport 443 Https-standardport
      Använda välkända CA-certifikat Ja Standarddomännamnet för ILB ASE är .appserviceenvironment.net, certifikatet för den här domänen utfärdas av en offentlig betrodd rotutfärdare. I inställningen Betrott rotcertifikat kan du ange att använda välkända certifikatutfärdares betrodda rotcertifikat.
      Åsidosätt med nytt värdnamn Ja Värdnamnsrubriken skrivs över vid anslutning till appen på ILB ASE
      Åsidosättning av värdnamn Välj värdnamn från serverdelsmålet När du ställer in serverdelspoolen på App Service kan du välja värd från serverdelsmålet
      Skapa anpassade avsökningar Nej Använda standardhälsoavsökning

      Screenshot of **Add an H T T P setting** dialog.

Konfigurera en programgatewayintegrering med ILB ASE

För att få åtkomst till ILB ASE från programgatewayen måste du kontrollera om en virtuell nätverkslänk till den privata DNS-zonen. Om inget virtuellt nätverk är länkat till programgatewayens virtuella nätverk lägger du till en länk för virtuellt nätverk med följande steg.

  • Om du vill konfigurera en länk till det virtuella nätverket med en privat DNS-zon går du till konfigurationsplanet för den privata DNS-zonen. Välj länkarna>För virtuellt nätverk Lägg till

Add a virtual network link to private DNS zone.

  • Ange länknamnet och välj respektive prenumeration och det virtuella nätverk där programgatewayen finns.

Screenshot of input link name details to virtual network links setting in private DNS zone.

  • Du kan bekräfta serverdelens hälsostatus från serverdelshälsan i programgatewayplanet.

Screenshot of confirm the backend health status from backend health.

Lägga till en offentlig DNS-post

Du måste konfigurera en korrekt DNS-mappning vid åtkomst till programgatewayen från Internet.

  • Den offentliga IP-adressen för programgatewayen finns i IP-konfigurationer för klientdelen i programgatewayplanet.

Application gateway frontend IP address can be found in Frontend IP configuration.

  • Använd Exempelvis Azure DNS-tjänsten kan du lägga till en postuppsättning för att mappa appdomännamnet till den offentliga IP-adressen för programgatewayen.

Screenshot of adding a record set to map the app domain name to the public IP address of the application gateway.

Verifiera anslutningen

  • På en datoråtkomst från Internet kan du verifiera namnmatchningen för appens domännamn till den offentliga IP-adressen för programgatewayen.

validate the name resolution from a command prompt.

  • Testa webbåtkomsten från en webbläsare på en datoråtkomst från Internet.

Screenshot of opening a browser, access to the web.