Dela via


Skydda Azure Container Apps med brandväggen för webbprogram på Application Gateway

När du är värd för dina appar eller mikrotjänster i Azure Container Apps kanske du inte alltid vill publicera dem direkt på Internet. I stället kanske du vill exponera dem via en omvänd proxy.

En omvänd proxy är en tjänst som finns framför en eller flera tjänster, som fångar upp och dirigerar inkommande trafik till rätt mål.

Med omvända proxyservrar kan du placera tjänster framför dina appar som stöder övergripande funktioner, inklusive:

  • Routning
  • Cachelagring
  • Frekvensbegränsning
  • Belastningsutjämning
  • Säkerhetsnivåer
  • Filtrering av begäran

Den här artikeln visar hur du skyddar dina containerappar med hjälp av en brandvägg för webbprogram (WAF) på Azure Application Gateway med en intern Container Apps-miljö.

Mer information om nätverksbegrepp i Container Apps finns i Nätverksmiljö i Azure Container Apps.

Förutsättningar

  • Intern miljö med anpassat VNet: Ha en containerapp som finns i en intern miljö och integrerad med ett anpassat virtuellt nätverk. Mer information om hur du skapar en anpassad virtuell nätverksintegrerad app finns i Tillhandahålla ett virtuellt nätverk till en intern Azure Container Apps-miljö.

  • Säkerhetscertifikat: Om du måste använda TLS/SSL-kryptering till programgatewayen krävs ett giltigt offentligt certifikat som används för att binda till din programgateway.

Hämta containerappens domän

Använd följande steg för att hämta värdena för standarddomänen och den statiska IP-adressen för att konfigurera din Privat DNS Zone.

  1. I resursgruppens översiktsfönster i portalen väljer du din containerapp.

  2. I fönstret Översikt för din containerappresurs väljer du länken för Container Apps Environment

  3. I fönstret Översikt för containerappens miljöresurs väljer du JSON-vy i det övre högra hörnet på sidan för att visa JSON-representationen av containerappmiljön.

  4. Kopiera värdena för egenskaperna defaultDomain och staticIp och klistra in dem i en textredigerare. Du skapar en privat DNS-zon med dessa värden för standarddomänen i nästa avsnitt.

Skapa och konfigurera en Azure Privat DNS-zon

  1. På menyn Azure Portal eller på startsidan väljer du Skapa en resurs.

  2. Sök efter Privat DNS zon och välj Privat DNS Zon i sökresultaten.

  3. Markera knappen Skapa.

  4. Ange följande värden:

    Inställning Åtgärd
    Prenumeration Välj din Azure-prenumerationen.
    Resursgrupp Välj resursgruppen för containerappen.
    Name Ange egenskapen defaultDomain för Container Apps Environment från föregående avsnitt.
    Plats för resursgrupp Lämna som standard. Ett värde behövs inte eftersom Privat DNS zoner är globala.
  5. Välj Granska + skapa. När valideringen är klar väljer du Skapa.

  6. När den privata DNS-zonen har skapats väljer du Gå till resurs.

  7. I fönstret Översikt väljer du +Postuppsättning för att lägga till en ny postuppsättning.

  8. I fönstret Lägg till postuppsättning anger du följande värden:

    Inställning Åtgärd
    Name Ange *.
    Typ Välj A-adresspost.
    TTL Behåll standardvärdena.
    TTL-enhet Behåll standardvärdena.
    IP-adress Ange egenskapen staticIp för Container Apps Environment från föregående avsnitt.
  9. Välj OK för att skapa postuppsättningen.

  10. Välj +Postuppsättning igen för att lägga till en andra postuppsättning.

  11. I fönstret Lägg till postuppsättning anger du följande värden:

    Inställning Åtgärd
    Name Ange @.
    Typ Välj A-adresspost.
    TTL Behåll standardvärdena.
    TTL-enhet Behåll standardvärdena.
    IP-adress Ange egenskapen staticIp för Container Apps Environment från föregående avsnitt.
  12. Välj OK för att skapa postuppsättningen.

  13. Välj fönstret Länkar till virtuellt nätverk på menyn till vänster på sidan.

  14. Välj +Lägg till för att skapa en ny länk med följande värden:

    Inställning Åtgärd
    Länknamn Ange my-custom-vnet-pdns-link.
    Jag vet resurs-ID:t för det virtuella nätverket Lämna den avmarkerad.
    Virtuellt nätverk Välj det virtuella nätverk som containerappen är integrerad med.
    Aktivera automatisk registrering Lämna den avmarkerad.
  15. Välj OK för att skapa länken för det virtuella nätverket.

Skapa och konfigurera Azure Application Gateway

Fliken Grundläggande

  1. Ange följande värden i avsnittet Projektinformation .

    Inställning Åtgärd
    Prenumeration Välj din Azure-prenumerationen.
    Resursgrupp Välj resursgruppen för containerappen.
    Namn på programgateway Ange my-container-apps-agw.
    Region Välj den plats där containerappen etablerades.
    Nivå Välj WAF V2. Du kan använda Standard V2 om du inte behöver WAF.
    Aktivera autoskalning Lämna som standard. För produktionsmiljöer rekommenderas automatisk skalning. Se Autoskalning av Azure Application Gateway.
    Availability zone Välj Ingen. För produktionsmiljöer rekommenderas Tillgänglighetszoner för högre tillgänglighet.
    HTTP2 Behåll standardvärdet.
    WAF-princip Välj Skapa ny och ange my-waf-policy för WAF-principen. Välj OK. Om du väljer Standard V2 för nivån hoppar du över det här steget.
    Virtuellt nätverk Välj det virtuella nätverk som containerappen är integrerad med.
    Undernät Välj Hantera undernätskonfiguration. Om du redan har ett undernät som du vill använda använder du det i stället och går vidare till avsnittet Klientdelar.
  2. I fönstret Undernät i my-custom-vnet väljer du +Undernät och anger följande värden:

    Inställning Åtgärd
    Name Ange appgateway-subnet.
    Adressintervall för undernätet Behåll standardvärdena.
  3. Behåll standardvärdena för resten av inställningarna.

  4. Välj Spara för att skapa det nya undernätet.

  5. Stäng fönstret Undernät för att återgå till fönstret Skapa programgateway .

  6. Välj följande värden:

    Inställning Åtgärd
    Undernät Välj det appgateway-undernät som du skapade.
  7. Välj Nästa: Klientdelar för att fortsätta.

Fliken Klientdelar

  1. På fliken Klientdelar anger du följande värden:

    Inställning Åtgärd
    Ip-adresstyp för klientdel Välj Offentlig.
    Offentlig IP-adress Välj Lägg till. Ange my-frontend som namn på klientdelen och välj OK

    Kommentar

    För Application Gateway v2 SKU måste det finnas en offentlig klientdels-IP. Du kan ha både en offentlig och en privat IP-klientdels-IP-konfiguration, men en IP-konfiguration med endast privat klientdel utan offentlig IP-adress stöds för närvarande inte i V2-SKU:n. Mer information finns här.

  2. Välj Nästa: Serverdelar.

Fliken Serverdelar

Serverdelspoolen används för att dirigera begäranden till lämpliga serverdelsservrar. Serverdelspooler kan bestå av valfri kombination av följande resurser:

  • Nätverkskort
  • Offentliga IP-adresser
  • Interna IP-adresser
  • Virtual Machine Scale Sets
  • Fullständigt kvalificerade domännamn (FQDN)
  • Serverdelar för flera klientorganisationer som Azure App Service och Container Apps

I det här exemplet skapar du en serverdelspool som riktar sig mot din containerapp.

  1. Välj Lägg till en serverdelspool.

  2. Öppna en ny flik och gå till containerappen.

  3. I fönstret Översikt i containerappen letar du upp program-URL:en och kopierar den.

  4. Gå tillbaka till fliken Serverdelar och ange följande värden i fönstret Lägg till en serverdelspool :

    Inställning Åtgärd
    Name Ange my-agw-backend-pool.
    Lägga till serverdelspool utan mål Välj Nej.
    Måltyp Välj IP-adress eller FQDN.
    Mål Ange url: en för containerappprogrammet som du kopierade och ta bort prefixet https:// . Den här platsen är FQDN för din containerapp.
  5. Markera Lägga till.

  6. På fliken Serverdelar väljer du Nästa: Konfiguration.

Konfigurationsflik

På fliken Konfiguration ansluter du klientdelen och serverdelspoolen som du skapade med hjälp av en routningsregel.

  1. Välj Lägg till en routningsregel. Ange följande värden:

    Inställning Åtgärd
    Name Ange my-agw-routing-rule.
    Prioritet Ange 1.
  2. Under fliken Lyssnare anger du följande värden:

    Inställning Åtgärd
    Lyssnarnamn Ange my-agw-listener.
    Klientdels-IP Välj Offentlig.
    Protokoll Välj HTTPS. Om du inte har ett certifikat som du vill använda kan du välja HTTP
    Port Ange 443. Om du har valt HTTP för ditt protokoll anger du 80 och går vidare till standard-/anpassade domänavsnittet.
    Välj ett certifikat Välj Ladda upp ett certifikat. Om certifikatet lagras i nyckelvalvet kan du välja Välj ett certifikat från Key Vault.
    Certifikatnamn Ange ett namn på certifikatet.
    PFX-certifikatfil Välj ditt giltiga offentliga certifikat.
    Lösenord Ange certifikatlösenordet.

    Om du vill använda standarddomänen anger du följande värden:

    Inställning Åtgärd
    Lyssnartyp Välj Basic
    Url för felsida Lämna som nej

    Du kan också ange följande värden om du vill använda en anpassad domän:

    Inställning Åtgärd
    Lyssnartyp Välj Flera webbplatser
    Host type Välj enskild
    Värdnamn Ange den anpassade domän som du vill använda.
    Url för felsida Lämna som nej
  3. Välj fliken Serverdelsmål och ange följande värden:

  4. Växla till fliken Serverdelsmål och ange följande värden:

    Inställning Åtgärd
    Måltyp Välj my-agw-backend-pool som du skapade tidigare.
    Serverdelsinställningar Välj Lägg till.
  5. I fönstret Lägg till serverdelsinställning anger du följande värden:

    Inställning Åtgärd
    Namn på serverdelsinställningar Ange my-agw-backend-setting.
    Serverdelsprotokoll Välj HTTPS.
    Serverdelsport Ange 443.
    Använda välkända CA-certifikat Välj Ja.
    Åsidosätt med nytt värdnamn Välj Ja.
    Åsidosättning av värdnamn Välj Välj värdnamn från serverdelsmålet.
    Skapa anpassade avsökningar Välj Nej.
  6. Välj Lägg till för att lägga till serverdelsinställningarna.

  7. I fönstret Lägg till en routningsregel väljer du Lägg till igen.

  8. Välj Nästa: Taggar.

  9. Välj Nästa: Granska + skapa och välj sedan Skapa.

Du kan upprätta en säker anslutning till miljöer med endast interna containerappar genom att använda en privat länk, eftersom det gör att Application Gateway kan kommunicera med containerappen på serverdelen via det virtuella nätverket.

  1. När Application Gateway har skapats väljer du Gå till resurs.

  2. På menyn till vänster väljer du Privat länk och sedan Lägg till.

  3. Ange följande värden:

    Inställning Åtgärd
    Name Ange my-agw-private-link.
    Undernät för privat länk Välj det undernät som du vill skapa den privata länken med.
    IP-konfiguration för klientdel Välj klientdelens IP-adress för din Application Gateway.
  4. Under Inställningar för privat IP-adress väljer du Lägg till.

  5. Välj Lägg till längst ned i fönstret.

Verifiera containerappen

  1. Leta reda på den offentliga IP-adressen för programgatewayen på sidan Översikt , eller så kan du söka efter adressen. Om du vill söka väljer du Alla resurser och anger my-container-apps-agw-pip i sökrutan. Välj sedan IP-adressen i sökresultatet.

  2. Gå till den offentliga IP-adressen för programgatewayen.

  3. Din begäran dirigeras automatiskt till containerappen, som verifierar att programgatewayen har skapats.

Rensa resurser

När du inte längre behöver de resurser som du skapade tar du bort resursgruppen. När du tar bort resursgruppen tar du också bort alla relaterade resurser.

Så här tar du bort resursgruppen:

  1. På menyn Azure Portal väljer du Resursgrupper eller söker efter och väljer Resursgrupper.

  2. På sidan Resursgrupper söker du efter och väljer my-container-apps.

  3. Välj Ta bort resursgrupp på sidan Resursgrupp.

  4. Ange my-container-apps under SKRIV RESURSGRUPPENS NAMN och välj sedan Ta bort

Nästa steg