Integrera en ILB App Service-miljö med Azure Application Gateway
Den App Service-miljön är en distribution av Azure App Service i undernätet i en kunds virtuella Azure-nätverk. Den kan distribueras med en extern eller intern slutpunkt för appåtkomst. Distributionen av App Service miljö med en intern slutpunkt kallas för en intern lastbalanserare (ILB) App Service miljö (ASE).
Brandväggar för webbaserade program hjälper dig att skydda dina webbprogram genom att granska inkommande webbtrafik för att blockera SQL- injections, skript för flera webbplatser, uppladdning av skadlig kod & DDoS och andra attacker. Du kan hämta en WAF-enhet från Azure Marketplace eller så kan du använda Azure Application Gateway.
Den Azure Application Gateway är en virtuell installation som tillhandahåller Layer 7-belastningsutjämning, TLS/SSL-avlastning och brandväggsskydd för webbaserade program (WAF). Den kan lyssna på en offentlig IP-adress och dirigera trafik till din programslutpunkt. 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ö. Den här tekniken gör det möjligt att vara värd för säkra program för flera samma App Service ILB.
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ö.
- 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 programgatewayen.
ILB App Service miljö
Mer information om hur du skapar en ILB App Service miljö finns i Skapa en ASE i Azure Portal och Skapa en ASE med ARM.
När ILB ASE har skapats är standarddomänen
<YourAseName>.appserviceenvironment.net.
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.
En privat DNS-zon
Du behöver en privat DNS-zon för intern namnmatchning. Skapa den med ase-namnet med postuppsättningarna som visas i följande tabell (anvisningar finns i Snabbstart –Skapa en privat DNS-zon i Azure med hjälp av Azure Portal ).
| 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 och planerar att ansluta till asabuludemo.com en App Service med det här domännamnet app.asabuludemo.com . IP-adresserna som mappas till det här appdomännamnet måste anges till den offentliga IP-adressen efter att 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 Domains.
Ett giltigt offentligt certifikat
För säkerhetsförbättring rekommenderar vi att du binder TLS/SSL-certifikat för sessionskryptering. För att binda TLS/SSL-certifikat till programgatewayen krävs ett giltigt offentligt certifikat med följande information. Med App Service certifikatkan 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 för certifikatmottagare | <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 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 spara den i PFX-format. Den importeras till programgatewayen senare.
Skapa en programgateway
Information om hur du skapar en grundläggande programgateway finns i Självstudie:Skapa en programgateway med en Web Application Firewall med hjälp av Azure Portal .
I den här självstudien använder vi Azure Portal för att skapa en programgateway med ILB App Service miljö.
I den Azure Portal väljer du Nytt nätverk > för > Application Gateway för att skapa en programgateway.
Inställning för grundläggande inställningar
I listrutan Nivå kan du välja Standard V2 eller WAF V2 för att aktivera WAF-funktionen på programgatewayen.
Inställningar för frontends
Välj IP-adresstyp för frontend till Offentlig, Privat eller Båda. Om du anger Privat eller Båda måste du tilldela en statisk IP-adress i programgatewayens undernätsintervall. I det här fallet ställer vi in på Offentlig IP endast 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.
Inställning för backends
Ange ett namn på backend-poolen och välj App Services IP-adress eller FQDN i Måltyp. I det här fallet anger vi App Services och väljer App Service namn i mållistrutan.
Konfigurationsuppsättning
I Konfigurationsinställning måste du lägga till en routningsregel genom att klicka på ikonen Lägg till en routningsregel.
Du måste konfigurera en lyssnare och backend-mål i en routningsregel. Du kan lägga till en HTTP-lyssnare för proof of concept-distribution eller lägga till en HTTPS-lyssnare för att förbättra säkerheten.
Om du vill ansluta till programgatewayen med HTTP-protokollet kan du skapa en lyssnare med följande inställningar,
Parameter Värde Beskrivning Regelnamn Exempelvis: http-routingruleRoutningsnamn Lyssnarens namn Exempelvis: http-listenerLyssnarens namn 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 Värdtyp Flera/jokertecken Ange till webbplatsnamn med flera eller jokertecken om lyssnartypen är inställd på flera platser. Värdnamn Exempelvis: app.asabuludemo.comAnge till ett dirigerbart domännamn för App Service
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 Exempelvis: https-routingruleRoutningsnamn Lyssnarens namn Exempelvis: https-listenerLyssnarens namn 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 Upload ett certifikat Upload ett certifikat innehåller CN och den privata nyckeln i PFX-format. Lyssnartyp Flera webbplatser Tillåt att lyssna på flera platser på programgatewayen Värdtyp Flera/jokertecken Ange till webbplatsnamn med flera eller jokertecken om lyssnartypen är inställd på flera platser. Värdnamn Exempelvis: app.asabuludemo.comAnge till ett dirigerbart domännamn för App Service
Du måste konfigurera en backend-pool och HTTP-inställning i Backend-mål. Backend-poolen konfigurerades i tidigare steg. Klicka på Lägg till ny länk för att lägga till en HTTP-inställning.
HTTP-inställningar som anges enligt nedan:
Parameter Värde Beskrivning HTTP-inställningsnamn Exempelvis: https-settingHTTP-inställningsnamn Backend-protokoll HTTPS Använda TLS/SSL-kryptering Serverdelsport 443 Https-standardport Använda välkända CA-certifikat Yes 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 betrodda ca betrodda rotcertifikat.Åsidosätt med nytt värdnamn Yes Värdnamnsrubriken skrivs över vid anslutning till appen på ILB ASE Åsidosättning av värdnamn Välj värdnamn från backend-målet När du ställer in backend-App Service kan du välja värd från backend-målet Skapa anpassade avsökningar No Använd standardhälsoavsökning
Konfigurera en application gateway-integrering 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 det inte finns något virtuellt nätverk länkat till programgatewayens VNet lägger du till en virtuell nätverkslänk med följande steg.
Konfigurera virtuella nätverkslänkar med en privat DNS-zon
- Om du vill konfigurera en virtuell nätverkslänk med en privat DNS-zon går du till konfigurationsplanet för den privata DNS-zonen. Välj länkarna För virtuella nätverk Lägg > till
- Ange länknamnet och välj respektive prenumeration och det virtuella nätverk där programgatewayen finns.
- Du kan bekräfta hälsotillståndet för backend från backend-hälsotillståndet i programmets gatewayplan.
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 frontend i programmets gatewayplan.
- Använd Azure DNS-tjänsten som exempel kan du lägga till en postuppsättning för att mappa appdomännamnet till den offentliga IP-adressen för programgatewayen.
Verifiera anslutningen
- På en datoråtkomst från Internet kan du verifiera namnmatchning för appens domännamn till programgatewayens offentliga IP-adress.
- På en datoråtkomst från Internet testar du webbåtkomsten från en webbläsare.