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.
App Service-miljön är en distribution av Azure App Service som körs i ditt virtuella Azure-nätverk. Den kan distribueras med en internettillgänglig programslutpunkt eller en programslutpunkt som finns i ditt virtuella nätverk. Om du distribuerar App Service-miljön med en internettillgänglig slutpunkt kallas distributionen för en extern App Service-miljön. Om du distribuerar App Service-miljön med en slutpunkt i ditt virtuella nätverk kallas distributionen för en ILB-App Service-miljön. Du kan lära dig mer om ILB-App Service-miljön från dokumentet Skapa och använda en ILB-App Service-miljön.
Applikationscertifikat
Program som finns i en App Service-miljön stöder följande appcentrerade certifikatfunktioner, som också är tillgängliga i apptjänsten för flera klienter. Krav och instruktioner för att ladda upp och hantera dessa certifikat finns i Lägga till ett TLS/SSL-certifikat i Azure App Service.
När du har lagt till certifikatet i App Service-appen eller funktionsappen kan du skydda ett anpassat domännamn med det eller använda det i programkoden.
Begränsningar
App Service-hanterade certifikat stöds inte för appar som finns i en App Service-miljön.
TLS-inställningar
Du kan konfigurera TLS-inställningen på appnivå.
Rotcertifikat för privata klientscenarier
När din app fungerar som en klient som ansluter till tjänster som skyddas med privata certifikatutfärdare (CA) måste du lägga till rotcertifikat för att upprätta förtroende. App Service Environment v3 innehåller två metoder för att hantera rotcertifikat:
- Rotcertifikat-API (rekommenderas): Miljöomfattande hantering för alla appar
- Privat klientcertifikat: Konfiguration per app med programinställningar
Välja rätt metod
| Metod | Omfång | Använd när | Begränsningar |
|---|---|---|---|
| Rotcertifikat-API | Alla appar i App Service-miljön | – Du hanterar flera appar som behöver samma rotcertifikat – Du vill ha centraliserad certifikathantering – Du distribuerar nya miljöer med infrastruktur som kod |
– Kräver att du stoppar och startar befintliga appar för att hämta nya certifikat – Kräver API/CLI/IaC-verktyg (inte tillgängligt i Azure-portalen just nu) |
| Privat klientcertifikat | Appar i en enda App Service-plan | – Du behöver bara certifikat för några få appar – Du föredrar portalbaserad konfiguration – Olika appar behöver olika rotcertifikat |
– Endast Windows-kodappar – Måste konfigurera varje App Service-plan separat – Certifikat som inte är tillgängliga utanför appkoden (kan inte användas för containerregisterautentisering eller klientdels-TLS-validering) |
Den allmänna rekommendationen är att använda rotcertifikat-API:et för nya distributioner och när du hanterar certifikat i flera appar. Det ger bättre skalbarhet, automatiseringsstöd och fungerar för både Windows- och Linux-appar.
Rotcertifikat-API
Med rotcertifikat-API:et kan du programmatiskt lägga till rotcertifikat i App Service Environment v3, vilket gör dem tillgängliga för alla appar under starten. Rotcertifikat är offentliga certifikat som identifierar en rotcertifikatutfärdare (CA) och är viktiga för att upprätta förtroende för säker kommunikation. Genom att lägga till rotcertifikat i Apptjänstmiljön har alla appar som finns i denna miljö dem installerade i sin rotbutik, vilket säkerställer säker kommunikation med interna tjänster eller API:er som använder certifikat utfärdade av privata eller företags-CAs.
Den här funktionen är tillgänglig för både Windows- och Linux-baserade appar i App Service Environment v3. Rotcertifikat som läggs till via det här API:et matas automatiskt in i förtroendearkivet för appar vid start, vilket eliminerar behovet av konfigurationer per app och förenklar livscykelhanteringen för certifikat.
Viktiga överväganden
- Certifikat kan läggas till i en App Service-miljö med hjälp av REST API, Azure CLI, ARM-mallar, Bicep eller Terraform.
- Om du lägger till ett certifikat i en App Service-miljö med befintliga eller aktiva appar måste du stoppa och sedan starta varje app för att certifikatarkivet ska uppdateras med det nya rotcertifikatet. Att lägga till alla certifikat innan du skapar dina appar rekommenderas för att eliminera behovet av att stoppa och starta appar individuellt.
- Stopp- och startåtgärder skiljer sig från att starta om appen. Du måste använda de dedikerade stopp- och startkommandona som är tillgängliga i Azure-portalen, Azure CLI eller REST API.
- Att starta och stoppa appar orsakar tillfälliga avbrott medan apparna stoppas.
- Om du har flera appar och vill automatisera den här processen kan du använda Azure CLI eller REST API.
- Under processen för tillägg av certifikat måste du ange hela certifikatbloben i begäran. Du kan inte ladda upp en .cer fil direkt.
Lägga till ett rotcertifikat
Om du vill lägga till ett rotcertifikat i apptjänstmiljön använder du någon av följande metoder:
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{aseName}/publicCertificates/{certificateName}?api-version=2024-04-01
Content-Type: application/json
{
"location": "{location}",
"properties": {
"blob": "{raw certificate blob}",
"isRoot": true
}
}
Ersätt följande platshållare:
-
{subscriptionId}: Ditt Azure-prenumerations-ID -
{resourceGroupName}: Resursgruppen som innehåller din App Service-miljö -
{aseName}: Namnet på din App Service-miljö -
{certificateName}: Ett namn på certifikatresursen -
{location}: Den Azure-region där Din App Service-miljö distribueras -
{raw certificate blob}: Den råa certifikatbloben från rotcertifikatet
Ta bort ett rotcertifikat
Så här tar du bort ett rotcertifikat från App Service-miljön:
DELETE https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{aseName}/publicCertificates/{certificateName}?api-version=2024-04-01
Hämta ett specifikt certifikat
Så här hämtar du ett specifikt rotcertifikat från Din App Service-miljö:
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{aseName}/publicCertificates/{certificateName}?api-version=2024-04-01
Hämta alla offentliga certifikat
Så här hämtar du alla offentliga certifikat från Din App Service-miljö:
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{aseName}/publicCertificates?api-version=2024-04-01
Stoppa och starta appar
När du har lagt till ett rotcertifikat i en App Service-miljö med befintliga appar måste du stoppa och starta varje app för att uppdatera certifikatarkivet.
- Gå till din app i Azure-portalen.
- Välj Stoppa på översiktssidan.
- Vänta tills appen har stoppats helt.
- Välj Starta för att starta om appen.
Privat klientcertifikat (konfiguration per applikation)
Kommentar
I de flesta scenarier använder du rotcertifikat-API:et i stället för den här metoden. Rotcertifikat-API:et tillhandahåller miljöomfattande certifikathantering för både Windows- och Linux-appar, medan den här metoden är begränsad till Windows-kodappar i en enda App Service-plan.
Om du bara behöver konfigurera rotcertifikat för specifika appar, eller om du föredrar att använda Azure-portalen, kan du använda den privata klientcertifikatmetoden. Den här metoden laddar upp certifikat till enskilda appar och gör dem tillgängliga för appar i samma App Service-plan.
Viktigt!
Privata klientcertifikat stöds endast från anpassad kod i Windows-kodappar. Privata klientcertifikat stöds inte utanför appen. Detta begränsar användningen i scenarier som att hämta appcontaineravbildningen från ett register med hjälp av ett privat certifikat och TLS som verifierar via klientdelsservrarna med hjälp av ett privat certifikat.
Följ de här stegen för att ladda upp certifikatet (.cer-filen) till din app i App Service-miljön. Filen .cer kan exporteras från certifikatet. I testsyfte finns det ett PowerShell-exempel i slutet för att generera ett tillfälligt självsignerat certifikat:
Gå till den app som behöver certifikatet i Azure Portal
Gå till Certifikat i appen. Välj Offentligt nyckelcertifikat (.cer). Välj Lägg till certifikat. Ange ett namn. Bläddra och välj din .cer-fil . Välj ladda upp.
Kopiera tumavtrycket.
Gå till Konfiguration>Applikationsinställningar. Skapa en appinställning WEBSITE_LOAD_ROOT_CERTIFICATES med tumavtrycket som värde. Om du har flera certifikat kan du placera dem i samma inställning avgränsade med kommatecken och inga blanksteg som
84EC242A4EC7957817B8E48913E50953552DAFA6,6A5C65DC9247F762FE17BF8D4906E04FE6B31819
Certifikatet är tillgängligt för alla appar i samma App Service-plan som appen, som konfigurerade den inställningen, men alla appar som är beroende av det privata CA-certifikatet bör ha programinställningen konfigurerad för att undvika tidsproblem.
Om du vill att den ska vara tillgänglig för appar i en annan App Service-plan måste du upprepa appinställningsåtgärden för apparna i App Service-planen. Kontrollera att certifikatet har angetts genom att gå till Kudu-konsolen och utfärda följande kommando i PowerShell-felsökningskonsolen:
dir Cert:\LocalMachine\Root
För att utföra testning kan du skapa ett självsignerat certifikat och generera en .cer fil med följande PowerShell:
$certificate = New-SelfSignedCertificate -CertStoreLocation "Cert:\LocalMachine\My" -DnsName "*.internal.contoso.com","*.scm.internal.contoso.com"
$certThumbprint = "Cert:\LocalMachine\My\" + $certificate.Thumbprint
$fileName = "exportedcert.cer"
Export-Certificate -Cert $certThumbprint -FilePath $fileName -Type CERT
Privat servercertifikat (TLS/SSL-bindning)
Kommentar
Det här avsnittet beskriver servercertifikat för TLS/SSL-bindningar, som skiljer sig från de rotcertifikat som beskrevs tidigare. Servercertifikat används för att skydda appens anpassade domän med HTTPS, medan rotcertifikat upprättar förtroende för utgående klientanslutningar.
Om din app fungerar som en server i en klient-server-modell, antingen bakom en omvänd proxy eller direkt med en privat klient och du använder ett privat CA-certifikat, måste du ladda upp servercertifikatet (.pfx-filen ) med den fullständiga certifikatkedjan till din app och binda certifikatet till den anpassade domänen. Eftersom infrastrukturen är dedikerad till din App Service-miljön läggs den fullständiga certifikatkedjan till i förtroendearkivet för servrarna. Du behöver bara ladda upp certifikatet en gång för att använda det med appar som finns i samma App Service-miljön.
Kommentar
Om du laddade upp certifikatet före den 1 oktober 2023 måste du ladda upp och lägga till certifikatet igen för att den fullständiga certifikatkedjan ska läggas till på servrarna.
Följ självstudiekursen för säker anpassad domän med TLS/SSL för att ladda upp/binda ditt privata CA-rotade certifikat till appen i din App Service-miljö.
Nästa steg
- Information om hur du använder certifikat i programkod