Självstudie: Konfigurera ett CDN för Azure Static Web Apps
Genom att lägga till Azure Front Door som CDN för din statiska webbapp kan du dra nytta av en säker startpunkt för snabb leverans av dina webbprogram.
Med Static Web Apps har du två alternativ att integrera med Azure Front Door. Du kan lägga till Azure Front Door i din statiska webbapp genom att aktivera edge i företagsklass, en hanterad integrering av Azure Front Door med Static Web Apps. Du kan också konfigurera en Azure Front Door-resurs manuellt framför din statiska webbapp.
Överväg fördelarna nedan för att avgöra vilket alternativ som bäst passar dina behov.
Med gränsen i företagsklass får du:
- Noll konfigurationsändringar
- Ingen stilleståndstid
- Automatiskt hanterade SSL-certifieringar och anpassade domäner
En manuell Azure Front Door-konfiguration ger dig fullständig kontroll över CDN-konfigurationen, inklusive möjligheten att:
- Begränsa trafik ursprung efter ursprung
- Lägga till en brandvägg för webbprogram (WAF)
- Dirigera mellan flera program
- Använda mer avancerade funktioner i Azure Front Door
I den här självstudien lär du dig att lägga till Azure Front Door i din statiska webbapp.
Förutsättningar
- Anpassad domän som konfigurerats för din statiska webbapp med TTL (time to live) inställt på mindre än 48 timmar.
- Ett program som distribueras med Azure Static Web Apps som använder standardvärdplanen.
Aktivera gränsen i företagsklass på static web apps-resursen
Gå till din statiska webbapp i Azure Portal.
Välj Kant i företagsklass på den vänstra menyn.
Markera kryssrutan Aktivera gränsen i företagsklass.
Välj Spara.
Välj OK för att bekräfta spara.
Att aktivera den här funktionen medför extra kostnader.
Förutsättningar
- Ett Azure-konto med en aktiv prenumeration. Skapa ett konto kostnadsfritt
- En Azure Static Web Apps-webbplats. Skapa din första statiska webbapp
- Azure Static Web Apps Standard- och Azure Front Door Standard-abonnemang/Premium-abonnemang. Mer information finns i Prissättning för Static Web Apps
- Överväg att använda gränsen i företagsklass för snabbare sidinläsningar, förbättrad säkerhet och optimerad tillförlitlighet för globala program.
Skapa en Azure Front Door
Logga in på Azure-portalen.
På startsidan eller Azure-menyn väljer du + Skapa en resurs. Sök efter Front Door- och CDN-profiler och välj sedan Skapa>Front Door- och CDN-profiler.
På sidan Jämför erbjudanden väljer du Snabbskapa och väljer sedan Fortsätt för att skapa en Front Door.
På sidan Skapa en Front Door-profil anger eller väljer du följande inställningar.
Inställning Värde Prenumeration Välj din Azure-prenumerationen. Resursgrupp Ange ett resursgruppsnamn. Det här namnet är ofta samma gruppnamn som används av din statiska webbapp. Plats för resursgrupp Om du skapar en ny resursgrupp anger du den plats som är närmast dig. Name Ange my-static-web-app-front-door. Nivå Välj Standard. Slutpunktnamn Ange ett unikt namn för Din Front Door-värd. Ursprungstyp Välj Statisk webbapp. Ursprungligt värdnamn Välj värdnamnet för din statiska webbapp i listrutan. Cachelagring Markera kryssrutan Aktivera cachelagring . Funktionssätt för cachelagring av frågesträng Välj Använd frågesträng Komprimering Välj Aktivera komprimering WAF-princip Välj Skapa ny eller välj en befintlig brandväggsprincip för webbprogram i listrutan om du vill aktivera den här funktionen. Kommentar
När du skapar en Azure Front Door-profil måste du välja ett ursprung från samma prenumeration som Front Door skapas i.
Välj Granska + skapa och välj sedan Skapa. Det kan ta några minuter att skapa processen.
När distributionen är färdig väljer du Gå till resurs.
Inaktivera cache för autentiseringsarbetsflöde
Kommentar
Åtgärderna för cacheförfallotid, cachenyckelns frågesträng och åsidosättning av ursprungsgrupper är inaktuella. Dessa åtgärder kan fortfarande fungera normalt, men regeluppsättningen kan inte ändras. Ersätt dessa åsidosättningar med nya åsidosättningsåtgärder för routningskonfiguration innan du ändrar regeluppsättningen.
Lägg till följande inställningar för att inaktivera Front Door cachelagringsprinciper från att försöka cachelagra autentisering och auktoriseringsrelaterade sidor.
Lägg till ett villkor
Välj Regeluppsättning under Inställningar i Din Front Door.
Markera Lägga till.
I textrutan Regeluppsättningsnamn anger du Säkerhet.
I textrutan Regelnamn anger du NoCacheAuthRequests.
Välj Lägg till ett villkor.
Välj Sökväg för begäran.
Välj listrutan Operator och sedan Börjar med.
Välj länken Redigera ovanför textrutan Värde.
Ange
/.auth
i textrutan och välj sedan Uppdatera.Välj inga alternativ i listrutan Strängtransformering .
Lägga till en åtgärd
Välj listrutan Lägg till en åtgärd.
Välj Åsidosättning av routningskonfiguration.
Välj Inaktiverad i listrutan Cachelagring .
Välj Spara.
Associera regel till en slutpunkt
Nu när regeln har skapats tillämpar du regeln på en Front Door-slutpunkt.
Från Din Front Door väljer du Regeluppsättning och sedan länken Ta bort association .
Välj det slutpunktsnamn som du vill tillämpa cachelagringsregeln på och välj sedan Nästa.
Välj Associera.
Kopiera Front Door-ID
Använd följande steg för att kopiera Front Door-instansens unika identifierare.
Från Din Front Door väljer du länken Översikt i det vänstra navigeringsfältet.
Kopiera värdet med etiketten Front Door ID och klistra in det i en fil för senare användning.
Uppdatera konfiguration av statiska webbappar
För att slutföra integreringen med Front Door måste du uppdatera programkonfigurationsfilen för att utföra följande funktioner:
- Begränsa endast trafik till din webbplats via Front Door
- Begränsa endast trafik till din webbplats från Din Front Door-instans
- Definiera vilka domäner som kan komma åt din webbplats
- Inaktivera cachelagring för skyddade vägar
Öppna filen staticwebapp.config.json för webbplatsen och gör följande ändringar.
Begränsa trafik till att endast använda Front Door genom att lägga till följande avsnitt i konfigurationsfilen:
"networking": { "allowedIpRanges": ["AzureFrontDoor.Backend"] }
Om du vill definiera vilka Azure Front Door-instanser och domäner som kan komma åt din webbplats lägger du till avsnittet
forwardingGateway
."forwardingGateway": { "requiredHeaders": { "X-Azure-FDID" : "<YOUR-FRONT-DOOR-ID>" }, "allowedForwardedHosts": [ "my-sitename.azurefd.net" ] }
Konfigurera först appen så att den endast tillåter trafik från Din Front Door-instans. I varje serverdelsbegäran lägger Front Door automatiskt till en
X-Azure-FDID
rubrik som innehåller ditt Front Door-instans-ID. Genom att konfigurera din statiska webbapp så att den kräver det här huvudet begränsas trafiken till din Front Door-instans. I avsnittetforwardingGateway
i konfigurationsfilen lägger du till avsnittetrequiredHeaders
och definierarX-Azure-FDID
rubriken. Ersätt<YOUR-FRONT-DOOR-ID>
med Front Door-ID:t som du lade åt sidan tidigare.Lägg sedan till Värdnamnet för Azure Front Door (inte Värdnamnet för Azure Static Web Apps) i matrisen
allowedForwardedHosts
. Om du har konfigurerat anpassade domäner i Din Front Door-instans kan du även inkludera dem i den här listan.I det här exemplet ersätter du
my-sitename.azurefd.net
med Azure Front Door-värdnamnet för din webbplats.För alla säkra vägar i din app inaktiverar du Azure Front Door-cachelagring genom att lägga
"Cache-Control": "no-store"
till i routningsrubrikdefinitionen.{ ... "routes": [ { "route": "/members", "allowedRoles": ["authenticated", "members"], "headers": { "Cache-Control": "no-store" } } ] ... }
Med den här konfigurationen är webbplatsen inte längre tillgänglig via det genererade *.azurestaticapps.net
värdnamnet, utan endast via de värdnamn som konfigurerats i Din Front Door-instans.
Att tänka på
Anpassade domäner: Nu när Front Door hanterar din webbplats använder du inte längre den anpassade domänfunktionen Azure Static Web Apps. Azure Front Door har en separat process för att lägga till en anpassad domän. Mer information finns i Lägg till en anpassad domän i Din Front Door. När du lägger till en anpassad domän i Front Door måste du uppdatera konfigurationsfilen för den statiska webbappen så att den inkluderas
allowedForwardedHosts
i listan.Trafikstatistik: Som standard konfigurerar Azure Front Door hälsoavsökningar som kan påverka din trafikstatistik. Du kanske vill redigera standardvärdena för hälsoavsökningarna.
Betjänar gamla versioner: När du distribuerar uppdateringar till befintliga filer i din statiska webbapp kan Azure Front Door fortsätta att hantera äldre versioner av dina filer tills deras time-to-live upphör att gälla. Rensa Azure Front Door-cachen för de berörda sökvägarna för att säkerställa att de senaste filerna hanteras.
Rensa resurser
Om du inte längre vill använda resurserna som skapades i den här självstudien tar du bort Azure Static Web Apps- och Azure Front Door-instanserna.