Anteckning
Å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.
Den här artikeln visar hur du ger säkerhet för den anpassade domänen i din Azure App Service-app eller funktionsapp genom att skapa en certifikatbindning. När du är klar kan du komma åt din App Service-app vid https://
slutpunkten för ditt anpassade DNS-namn (Domain Name System). Ett exempel är https://www.contoso.com
.
Förutsättningar
- Skala upp din App Service-app till någon av de prisnivåer som stöds: Basic, Standard eller Premium.
- Mappa ett domännamn till din app eller köp och konfigurera det i Azure.
Lägg till bindningen
I Azure portal:
I den vänstra rutan väljer du App Services><appnamn>.
I den vänstra rutan i appen väljer du Anpassade domäner.
Bredvid den anpassade domänen väljer du Lägg till bindning.
Om din app redan har ett certifikat för den valda anpassade domänen kan du välja det i Certifikat. Annars måste du lägga till ett certifikat med hjälp av något av valen i Källa:
- Skapa apptjänsthanterat certifikat: Låt App Service skapa ett hanterat certifikat för den valda domänen. Det här alternativet är det enklaste alternativet. Mer information finns i Skapa ett kostnadsfritt hanterat certifikat.
- Importera App Service-certifikat: I App Service-certifikat väljer du det App Service-certifikat som du har köpt för den valda domänen.
- Ladda upp certifikat (.pfx): Följ arbetsflödet på Ladda upp ett privat certifikat för att ladda upp ett PFX-certifikat (Personal Information Exchange File) från den lokala datorn och ange certifikatlösenordet.
- Importera från Key Vault: Välj Välj nyckelvalvscertifikat och välj certifikatet i dialogrutan.
I TLS/SSL-typ väljer du antingen SNI SSL eller IP-baserad SSL:
- SNI SSL: Du kan lägga till flera SNI-bindningar (Secure Sockets Layer) (SSL). Med det här alternativet kan flera TLS-/SSL-certifikat (Transport Layer Security) skydda flera domäner på samma IP-adress. De flesta moderna webbläsare (inklusive Microsoft Edge, Chrome, Firefox och Opera) stöder SNI. (Mer information finns i Indikering av servernamn.)
- IP-baserad SSL: Du kan bara lägga till en IP SSL-bindning. Det här alternativet tillåter endast ett TLS/SSL-certifikat för att skydda en dedikerad offentlig IP-adress. När du har konfigurerat bindningen följer du stegen i Mappa om poster för IP-baserad SSL. IP-baserad SSL stöds endast på standardnivån eller högre.
När du lägger till ett nytt certifikat väljer du Verifiera för att verifiera det nya certifikatet.
Markera Lägga till.
När åtgärden är klar ändras den anpassade domänens TLS/SSL-tillstånd till Skyddad.
Ett skyddat tillstånd i anpassade domäner innebär att ett certifikat ger säkerhet. App Service kontrollerar inte om certifikatet är självsignerat eller upphört att gälla, vilket också kan leda till att webbläsare visar ett fel eller en varning.
Mappa om poster för IP-baserad SSL
Det här steget behövs bara för IP-baserad SSL. För en SNI SSL-bindning går du vidare till Testa HTTPS.
Det finns potentiellt två ändringar som du behöver göra:
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 har mappat en A-post till din app uppdaterar du domänregistret med den här 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 sedan om A-posten till den nya IP-adressen.
Om du har en SNI SSL-bindning till
<app-name>.azurewebsites.net
mappar du om en CNAME-mappning så att den pekar påsni.<app-name>.azurewebsites.net
i stället. (Lägg till prefixetsni
.)
Testa HTTPS
Bläddra till https://<your.custom.domain>
i olika webbläsare för att kontrollera att din app visas.
Din ansökningskod kan inspektera protokollet via x-appservice-proto
huvud. Rubriken har värdet http
eller https
.
Om din app visar fel i certifikatverifieringen så använder du förmodligen ett självsignerat certifikat. Om så inte är fallet utelämnade du förmodligen mellanliggande certifikat när du exporterade certifikatet till .pfx-filen.
Vanliga frågor och svar
Hur gör jag för att kontrollera att appens IP-adress inte ändras när jag gör ändringar i certifikatbindningen?
Din inkommande IP-adress kan ändras när du tar bort en bindning, även om bindningen är IP SSL. Det här beteendet är särskilt viktigt när du förnyar ett certifikat som redan finns i en IP SSL-bindning. Följ dessa steg för att undvika ändringar i appens IP-adress:
- Ladda upp det nya certifikatet.
- Binda det nya certifikatet till den anpassade domän som du vill ha 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.
Kan jag inaktivera den framtvingade omdirigeringen från HTTP till HTTPS?
Som standard tvingar App Service en omdirigering från HTTP-begäranden till HTTPS. Information om hur du inaktiverar det här beteendet finns i Konfigurera allmänna inställningar.
Hur ändrar jag lägsta TLS-versioner för appen?
Din app tillåter TLS 1.2 som standard. Branschstandarder som PCI DSS rekommenderar den här TLS-nivån. Information om hur du framtvingar olika TLS-versioner finns i Konfigurera allmänna inställningar.
Hur gör jag för att hantera TLS-avslutning i App Service?
I App Service sker TLS-avslutning i nätverkslastbalanserarna, 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, inspektera X-Forwarded-Proto
-huvudet.
Språkspecifika konfigurationsguider, till exempel konfigurationsguiden för Linux Node.js, visar hur du identifierar en HTTPS-session i programkoden.
Automatisera med skript
Azure CLI (kommandoradsgränssnittet för Azure)
Binda ett anpassat TLS/SSL-certifikat till en webbapp
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.
$webapp = New-AzWebApp -Name $webappname -Location $location -AppServicePlan $webappname `
-ResourceGroupName $webappname
Write-Host "Sign in to your domain provider's website and configure the following records:"
Write-Host "A CNAME record that maps $fqdn to $webappname.azurewebsites.net"
Write-Host "A TXT record that maps asuid.$fqdn to the domain verification ID $($webapp.CustomDomainVerificationId)"
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