Skydda ett anpassat DNS-namn med en TLS/SSL-bindning i Azure App Service
Den här artikeln visar hur du skyddar den anpassade domänen i din App Service-app eller funktionsapp genom att skapa en certifikatbindning. När du är klar kan du komma åt din App Service-app på https:// slutpunkten för ditt anpassade DNS-namn (till exempel https://www.contoso.com ).

Att skydda en anpassad domän med ett certifikat omfattar två steg:
- Lägg till ett privat certifikat App Service som uppfyller alla krav för privata certifikat.
- Skapa en TLS-bindning till motsvarande anpassade domän. Det andra steget beskrivs i den här artikeln.
I den här guiden får du lära dig att:
- Uppgradera prisnivån för din app
- Skydda en anpassad domän med ett certifikat
- Använda HTTPS
- Använda TLS 1.1/1.2
- Automatisera hantering av TLS med skript
Förutsättningar
Så här följer du den här instruktionerna:
- Skapa en App Service-app
- Mappa ett domännamn till din app eller köp och konfigurera det i Azure
- Lägga till ett privat certifikat i din app
Anteckning
Det enklaste sättet att lägga till ett privat certifikat är att skapa ett kostnadsfritt App Service hanterat certifikat.
Förbereda din webbapp
För att skapa anpassade TLS/SSL-bindningar eller aktivera klient certifikat för din App Service-app, måste App Service plan finnas på nivån Basic, standard, Premium eller isolerad . I det här steget ser du till att webbappen har en prisnivå som stöds.
Logga in på Azure
Öppna Azure-portalen.
Navigera till din webbapp
Sök efter och välj app Services.

På sidan app Services väljer du namnet på din webbapp.

Du har landat på hanterings sidan för din webbapp.
Kontrollera prisnivån
I det vänstra navigeringsfältet på webbappsidan bläddrar du till avsnittet Inställningar och väljer Skala upp (App Service-plan).

Kontrollera att webbappen inte är på nivån F1 eller D1. Appens aktuella nivå markeras med en mörkblå ruta.

Anpassat SSL stöds inte på nivån F1 eller D1. Om du behöver skala upp följer du stegen i nästa avsnitt. I annat fall stängs sidan Skala upp och hoppar över avsnittet Skala upp App Service-planen.
Skala upp App Service-planen
Välj någon av betalnivåerna (B1, B2, B3 eller någon nivå i kategorin Produktion). Klicka på Visa ytterligare alternativ om du vill se fler alternativ.
Klicka på Applicera.

När du ser följande meddelande har skalningsåtgärden slutförts.

Skydda en anpassad domän
Gör följande:
I den Azure Portalmenyn till vänster väljer du App Services > <app-name> .
I appens vänstra navigeringsfält startar du dialogrutan TLS/SSL-bindning genom att:
- Välja Anpassade domäner Lägg till > bindning
- Välja TLS/SSL-inställningar Lägg till > TLS/SSL-bindning

I Custom Domain väljer du den anpassade domän som du vill lägga till en bindning för.
Om appen redan har ett certifikat för den valda anpassade domänen går du till Skapa bindning direkt. Annars fortsätter du.
Lägga till ett certifikat för en anpassad domän
Om appen inte har något certifikat för den valda anpassade domänen har du två alternativ:
- Upload PFX-certifikat – Följ arbetsflödet på Upload ett privat certifikatoch välj sedan det här alternativet här.
- Importera App Service Certificate – Följ arbetsflödet i Importera ett App Service certifikatoch välj sedan det här alternativet här.
Anteckning
Du kan också Skapa ett kostnadsfritt certifikat eller Importera ett Key Vault-certifikat,men du måste göra det separat och sedan gå tillbaka till dialogrutan TLS/SSL-bindning.
Skapa bindning
Använd följande tabell som hjälp för att konfigurera TLS-bindningen i dialogrutan TLS/SSL-bindning och klicka sedan på Lägg till bindning.
| Inställning | Beskrivning |
|---|---|
| Anpassad domän | Domännamnet som TLS/SSL-bindningen ska läggas till för. |
| Tumavtryck för privat certifikat | Certifikatet som ska bindas. |
| TLS/SSL-typ |
|
När åtgärden har slutförts ändras den anpassade domänens TLS/SSL-tillstånd till Säker.

Anteckning
Ett säkert tillstånd i de anpassade domänerna innebär att det skyddas med ett certifikat, men App Service kontrollerar inte om certifikatet är själv signerat eller har upphört att gälla, till exempel, vilket kan göra att webbläsare visar ett fel eller en varning.
Mappa om poster för IP SSL
Om du inte använder IP SSL i din app går du vidare till Testa HTTPS för din anpassade domän.
Det finns två ändringar du behöver göra, eventuellt:
Som standard använder din app en delad offentlig IP-adress. När du binder ett certifikat med IP SSL skapar App Service en ny dedikerad IP-adress för din app. Om du mappade en A-post till din app uppdaterar du domänregistret med den nya dedikerade IP-adressen.
Din apps Anpassad domän-sida uppdateras med den nya dedikerade IP-adressen. Kopiera den här IP-adressen och mappa om A-posten till den nya IP-adressen.
Om du har en SNI SSL till mappar du om eventuell
<app-name>.azurewebsites.netCNAME-mappning så att den pekar påsni.<app-name>.azurewebsites.neti stället (lägg tillsniprefixet).
Testa HTTPS
I olika webbläsare bläddrar du till https://<your.custom.domain> för att kontrollera att den fungerar med din app.
Programkoden kan inspektera protokollet via rubriken "x-appservice-proto". -huvudet har värdet http eller https .
Anteckning
Om din app visar fel i certifikatverifieringen så använder du förmodligen ett självsignerat certifikat.
Om detta inte är fallet kan du ha utelämnat mellanliggande certifikat när du exporterade certifikatet till PFX-filen.
Förhindra IP-ändringar
Din inkommande IP-adress kan ändras när du tar bort en bindning, även om bindningen IP SSL. Detta är särskilt viktigt när du förnyar ett certifikat som redan finns i en IP SSL bindning. Du kan förhindra att appens IP-adress ändras genom att följa stegen nedan i ordning:
- Ladda upp det nya certifikatet.
- Bind det nya certifikatet till önskad anpassad domän utan att ta bort det gamla. Med den här åtgärden ersätts bindningen i stället för att den gamla tas bort.
- Ta bort det gamla certifikatet.
Använda HTTPS
Som standard kan alla fortfarande komma åt din app med HTTP. Du kan omdirigera alla HTTP-begäranden till HTTPS-porten.
Välj TLS/SSL-inställningar i det vänstra navigeringsfönstret på appsidan. I Endast HTTPS väljer du På.

När åtgärden har slutförts går du till någon av de HTTP-webbadresser som pekar på din app. Exempel:
http://<app_name>.azurewebsites.nethttp://contoso.comhttp://www.contoso.com
Framtvinga TLS-version
Din app tillåter TLS 1.2 som standard, vilket är den rekommenderade TLS-nivån enligt branschstandarder, t.ex. PCI DSS. Följ dessa steg om du vill genomdriva en högre TLS-version:
Välj TLS/SSL-inställningar i det vänstra navigeringsfönstret på appsidan. I TLS-version väljer du sedan den lägsta TLS-version du vill använda. Den här inställningen styr endast inkommande samtal.

När åtgärden är klar avvisar appen alla anslutningar med lägre TLS-version.
Hantera TLS-avslutning
I App Service sker TLS-avslutning vid lastbalanserarna i nätverket, så alla HTTPS-begäranden når din app som okrypterade HTTP-begäranden. Om din applogik behöver kontrollera om användarbegäranden är krypterade eller inte kan du kontrollera X-Forwarded-Proto-rubriken.
Språkspecifika konfigurationsguider, till exempel konfigurationsguiden för Linux Node.js, visar hur du identifierar en HTTPS-session i programkoden.
Förnya certifikatbindning
Anteckning
Information om hur du App Service ett certifikat som duhar köpt finns i Exportera (ett App Service)-certifikat. App Service certifikat kan förnyas automatiskt och bindningen kan synkroniseras automatiskt.
Om du vill ersätta ett utgånget certifikat kan hur du uppdaterar certifikatbindningen med det nya certifikatet påverka användarupplevelsen negativt. Din inkommande IP-adress kan till exempel ändras när du tar bort en bindning, även om bindningen är IP-baserad. Detta är särskilt viktigt att ha i åtanke när du förnyar ett certifikat som redan finns i en IP-baserad bindning. Följ dessa steg i ordning för att undvika ändringar i appens IP-adress och för att undvika avbrott i appen:
- Ladda upp det nya certifikatet.
- Bind det nya certifikatet till samma anpassade domän utan att ta bort det befintliga (utgående) certifikatet. Den här åtgärden ersätter bindningen i stället för att ta bort det befintliga certifikatet.
- Ta bort det befintliga certifikatet.
Automatisera med skript
Azure CLI
#!/bin/bash
fqdn=<replace-with-www.{yourdomain}>
pfxPath=<replace-with-path-to-your-.PFX-file>
pfxPassword=<replace-with-your=.PFX-password>
resourceGroup=myResourceGroup
webappname=mywebapp$RANDOM
# Create a resource group.
az group create --location westeurope --name $resourceGroup
# Create an App Service plan in Basic tier (minimum required by custom domains).
az appservice plan create --name $webappname --resource-group $resourceGroup --sku B1
# Create a web app.
az webapp create --name $webappname --resource-group $resourceGroup \
--plan $webappname
echo "Configure a CNAME record that maps $fqdn to $webappname.azurewebsites.net"
read -p "Press [Enter] key when ready ..."
# Before continuing, go to your DNS configuration UI for your custom domain and follow the
# instructions at https://aka.ms/appservicecustomdns to configure a CNAME record for the
# hostname "www" and point it your web app's default domain name.
# Map your prepared custom domain name to the web app.
az webapp config hostname add --webapp-name $webappname --resource-group $resourceGroup \
--hostname $fqdn
# Upload the SSL certificate and get the thumbprint.
thumbprint=$(az webapp config ssl upload --certificate-file $pfxPath \
--certificate-password $pfxPassword --name $webappname --resource-group $resourceGroup \
--query thumbprint --output tsv)
# Binds the uploaded SSL certificate to the web app.
az webapp config ssl bind --certificate-thumbprint $thumbprint --ssl-type SNI \
--name $webappname --resource-group $resourceGroup
echo "You can now browse to https://$fqdn"
PowerShell
$fqdn="<Replace with your custom domain name>"
$pfxPath="<Replace with path to your .PFX file>"
$pfxPassword="<Replace with your .PFX password>"
$webappname="mywebapp$(Get-Random)"
$location="West Europe"
# Create a resource group.
New-AzResourceGroup -Name $webappname -Location $location
# Create an App Service plan in Free tier.
New-AzAppServicePlan -Name $webappname -Location $location `
-ResourceGroupName $webappname -Tier Free
# Create a web app.
New-AzWebApp -Name $webappname -Location $location -AppServicePlan $webappname `
-ResourceGroupName $webappname
Write-Host "Configure a CNAME record that maps $fqdn to $webappname.azurewebsites.net"
Read-Host "Press [Enter] key when ready ..."
# Before continuing, go to your DNS configuration UI for your custom domain and follow the
# instructions at https://aka.ms/appservicecustomdns to configure a CNAME record for the
# hostname "www" and point it your web app's default domain name.
# Upgrade App Service plan to Basic tier (minimum required by custom SSL certificates)
Set-AzAppServicePlan -Name $webappname -ResourceGroupName $webappname `
-Tier Basic
# Add a custom domain name to the web app.
Set-AzWebApp -Name $webappname -ResourceGroupName $webappname `
-HostNames @($fqdn,"$webappname.azurewebsites.net")
# Upload and bind the SSL certificate to the web app.
New-AzWebAppSSLBinding -WebAppName $webappname -ResourceGroupName $webappname -Name $fqdn `
-CertificateFilePath $pfxPath -CertificatePassword $pfxPassword -SslState SniEnabled