Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för: ✔️ Front Door (klassisk)
Important
- Från och med den 15 augusti 2025 har Azure Front Door (klassisk) inte längre stöd för ny domänregistrering. Migrera till AFD Standard och Premium för att skapa nya domäner eller profiler och undvika avbrott i tjänsten. Läs mer
- Från och med den 15 augusti 2025 har Azure Front Door (klassisk) inte längre stöd för hanterade certifikat. För att undvika avbrott i tjänsten växlar du antingen till Byoc (Bring Your Own Certificate) eller migrerar till AFD Standard och Premium senast den 15 augusti 2025. Befintliga hanterade certifikat förnyas automatiskt före den 15 augusti 2025 och är giltiga fram till den 14 april 2026. Läs mer
- Azure Front Door (klassisk) dras tillbaka den 31 mars 2027. För att undvika avbrott i tjänsten migrerar du till AFD Standard eller Premium. Läs mer.
Det här Azure CLI-skriptexemplet visar hur du distribuerar ett anpassat domännamn och TLS-certifikat på en Azure Front Door-klientdel. Skriptet automatiserar etableringen av Azure Front Door med ett anpassat domännamn (som hanteras av Azure DNS) och ett TLS-certifikat.
Important
Kontrollera att det redan finns en offentlig Azure DNS-zon för ditt domännamn. En självstudiekurs finns i Hantera din domän i Azure DNS.
Om du inte har något Azure-konto skapar du ett kostnadsfritt konto innan du börjar.
Prerequisites
Använd Bash-miljön i Azure Cloud Shell. Mer information finns i Kom igång med Azure Cloud Shell.
Om du föredrar att köra CLI-referenskommandon lokalt installerar du Azure CLI. Om du kör på Windows eller macOS, överväg att köra Azure CLI i en Docker-container. För mer information, se Hur man kör Azure CLI i en Docker-container.
Om du använder en lokal installation loggar du in på Azure CLI med hjälp av kommandot az login. För att slutföra autentiseringsprocessen, följ stegen som visas i din terminal. Andra inloggningsalternativ finns i Autentisera till Azure med Azure CLI.
När du blir uppmanad, installera Azure CLI-tillägget vid första användning. Mer information om tillägg finns i Använda och hantera tillägg med Azure CLI.
Kör az version för att ta reda på versionen och de beroende bibliotek som är installerade. Om du vill uppgradera till den senaste versionen kör du az upgrade.
Exempelskript
Aktivera Azure Cloud Shell
Azure Cloud Shell är ett kostnadsfritt interaktivt gränssnitt som du kan använda för att köra stegen i den här artikeln. Den har vanliga Azure-verktyg förinstallerade och konfigurerade för användning med ditt konto.
Öppna Cloud Shell genom att välja Prova i det övre högra hörnet av ett kodblock. Du kan också starta Cloud Shell på en separat webbläsarflik genom att gå till https://shell.azure.com.
När Cloud Shell öppnas kontrollerar du att Bash har valts för din miljö. I efterföljande sessioner kommer Azure CLI att användas i en Bash-miljö. Välj Kopiera för att kopiera kodblocken, klistra in dem i Cloud Shell och tryck på Enter för att köra dem.
Logga in på Azure
Cloud Shell autentiseras automatiskt under det första kontot som loggas in med. Använd följande skript för att logga in med en annan prenumeration och ersätta subscriptionId med ditt Azure-prenumerations-ID.
Om du inte har något Azure-konto skapar du ett kostnadsfritt konto innan du börjar.
subscription="subscriptionId" # Set Azure subscription ID here
az account set -s $subscription # ...or use 'az login'
För mer information, se ange en aktiv prenumeration eller logga in interaktivt.
Komma igång
Skriptet kommer att:
- Skapa en resursgrupp.
- Skapa ett lagringskonto som värd för ett ensidesprogram (SPA).
- Aktivera SPA-värdtjänst på lagringskontot.
- Ladda upp en "Hello world!"
index.htmlfil. - Skapa en Front Door-profil.
- Skapa ett DNS-alias för Apex som matchar Front Door.
- Skapa ett CNAME för
adverifyvärdnamnet. - Skapa en Front Door-klientdelsslutpunkt för den anpassade domänen.
- Lägg till en rutt från den anpassade domänens front-end till SPA-ursprunget.
- Lägg till en routningsregel för att omdirigera HTTP till HTTPS.
- Aktivera HTTPS med ett Front Door-hanterat certifikat.
Kör skriptet
Om du vill köra det här skriptet kopierar du följande kod till en .sh fil, ändrar de hårdkodade variablerna till dina domänvärden och kör sedan följande kommando för att skicka dessa variabler till skriptet:
AZURE_DNS_ZONE_NAME=www.contoso.com AZURE_DNS_ZONE_RESOURCE_GROUP=contoso-rg ./deploy-custom-apex-domain.sh
# Deploy a Custom Domain name and TLS certificate at the apex (root) on an Azure Front Door front-end.
# VARIABLES
# Change these hardcoded values if required
let "randomIdentifier=$RANDOM*$RANDOM"
# Use resource group environment variable if set
if [ "$RESOURCE_GROUP" == '' ];
then
resourceGroup="msdocs-frontdoor-rg-$randomIdentifier"
else
resourceGroup="${RESOURCE_GROUP}"
fi
location='AustraliaEast'
tag='deploy-custom-domain'
storage="msdocsafd$randomIdentifier"
frontDoor="msdocs-frontdoor-$randomIdentifier"
frontDoorFrontEnd='www-contoso'
ttl=300
if [ "$AZURE_DNS_ZONE_NAME" == '' ];
then
echo -e "\033[33mAZURE_DNS_ZONE_NAME environment variable is not set. Front Door will be created but custom frontend will not be configured because custom domain name not provided. Try:\n\n AZURE_DNS_ZONE_NAME=www.contoso.com AZURE_DNS_ZONE_RESOURCE_GROUP=contoso-dns-rg ./deploy-custom-apex-domain.sh\n\nSee Readme for details.\033[0m"
else
if [ "$AZURE_DNS_ZONE_RESOURCE_GROUP" == '' ];
then
# write error text
echo -e "\033[31mAZURE_DNS_ZONE_RESOURCE_GROUP environment variable is not set. Provide the resource group for the Azure DNS Zone. Try:\n\n AZURE_DNS_ZONE_NAME=www.contoso.com AZURE_DNS_ZONE_RESOURCE_GROUP=contoso-dns-rg ./deploy-custom-apex-domain.sh\n\nSee Readme for details.\033[0m"
# write stderr and exit
>&2 echo "AZURE_DNS_ZONE_RESOURCE_GROUP environment variable is not set."
exit 1
fi
fi
# Resource group
az group create -n $resourceGroup -l $location --tags $tag
# STORAGE ACCOUNT
az storage account create -n $storage -g $resourceGroup -l $location --sku Standard_LRS --kind StorageV2
# Make Storage Account a SPA
az storage blob service-properties update --account-name $storage --static-website \
--index-document 'index.html' --404-document 'index.html'
# Upload index.html
az storage blob upload --account-name $storage -f ./index.html -c '$web' -n 'index.html' --content-type 'text/html'
# Get the URL to use as the origin URL on the Front Door backend
spaFQUrl=$( az storage account show -n $storage --query 'primaryEndpoints.web' -o tsv )
# Remove 'https://' and trailing '/'
spaUrl=${spaFQUrl/https:\/\//} ; spaUrl=${spaUrl/\//}
# FRONT DOOR
frontDoorId=$( az network front-door create -n $frontDoor -g $resourceGroup --tags $tag --accepted-protocols Http Https --backend-address $spaUrl --query 'id' -o tsv )
if [ "$AZURE_DNS_ZONE_NAME" != '' ];
then
# AZURE DNS
# Apex hostname on contoso.com
# Create an Alias DNS recordset
az network dns record-set a create -n "@" -g $AZURE_DNS_ZONE_RESOURCE_GROUP --zone-name $AZURE_DNS_ZONE_NAME --target-resource $frontDoorId --ttl $ttl
# Create the domain verify CNAME
az network dns record-set cname set-record -g $AZURE_DNS_ZONE_RESOURCE_GROUP --zone-name $AZURE_DNS_ZONE_NAME --record-set-name "afdverify" --cname "afdverify.$frontDoor.azurefd.net" --ttl $ttl
# FRONT DOOR FRONT END
# Create a frontend for the custom domain
az network front-door frontend-endpoint create --front-door-name $frontDoor --host-name $AZURE_DNS_ZONE_NAME \
--name $frontDoorFrontEnd -g $resourceGroup --session-affinity-enabled 'Disabled'
# Update the default routing rule to include the new frontend
az network front-door routing-rule update --front-door-name $frontDoor -n 'DefaultRoutingRule' -g $resourceGroup \
--caching 'Enabled' --accepted-protocols 'Https' \
--frontend-endpoints 'DefaultFrontendEndpoint' $frontDoorFrontEnd
# Create http redirect to https routing rule
az network front-door routing-rule create -f $frontDoor -g $resourceGroup -n 'httpRedirect' \
--frontend-endpoints $frontDoorFrontEnd --accepted-protocols 'Http' --route-type 'Redirect' \
--patterns '/*' --redirect-protocol 'HttpsOnly'
# Update the default routing rule to include the new frontend
az network front-door routing-rule update --front-door-name $frontDoor -n 'DefaultRoutingRule' -g $resourceGroup \
--caching 'Enabled' --frontend-endpoints 'DefaultFrontendEndpoint' $frontDoorFrontEnd
# Enable HTTPS. This command will return quickly but provisioning can take up to an hour to complete
az network front-door frontend-endpoint enable-https \
--front-door-name $frontDoor -n $frontDoorFrontEnd -g $resourceGroup
fi
Rensa resurser
Använd följande kommando för att ta bort resursgruppen och alla resurser som är associerade med den med hjälp av kommandot az group delete - om du inte har ett pågående behov av dessa resurser. Vissa av dessa resurser kan ta ett tag att skapa och ta bort.
az group delete --name $resourceGroup
Exempelreferenser
Det här skriptet använder följande kommandon. Varje kommando i tabellen länkar till kommandospecifik dokumentation.
| Command | Description |
|---|---|
| az group create - Skapa en grupp | Skapar en resursgrupp för att lagra alla resurser. |
| Kommandot az storage account create används för att skapa ett lagringskonto. | Skapar ett Azure Storage-konto i den angivna resursgruppen. |
| az storage blob tjänste-egenskaper uppdatera | Uppdaterar lagringsblobtjänstens egenskaper. |
| az storage blob upload – ladda upp till Azure Storage Blob | Laddar upp en blob till en container. |
| az storage account show - visar ett lagringskonto | Visar egenskaper för lagringskonto. |
| az nätverk front-dörr skapa | Skapar en Huvudingång. |
| az network dns record-set | Hanterar DNS-poster och postuppsättningar. |
| az network front-door | Hanterar ingångar. |
Nästa steg
Mer information om Azure CLI finns i Azure CLI-dokumentation.