Certificaten en de App Service Environment v2
Belangrijk
Dit artikel gaat over App Service Environment v2, dat wordt gebruikt met geïsoleerde App Service-plannen. App Service Environment v1 en v2 worden vanaf 31 augustus 2024 buiten gebruik gesteld. Er is een nieuwe versie van App Service Environment die eenvoudiger te gebruiken is en wordt uitgevoerd op een krachtigere infrastructuur. Voor meer informatie over de nieuwe versie begint u met de inleiding tot de App Service-omgeving. Als u momenteel App Service Environment v1 gebruikt, volgt u de stappen in dit artikel om te migreren naar de nieuwe versie.
Vanaf 31 augustus 2024 zijn Service Level Agreement (SLA) en servicetegoeden niet langer van toepassing op App Service Environment v1- en v2-workloads die in productie blijven omdat ze buiten gebruik worden gesteld. Het buiten gebruik stellen van de App Service Environment v1- en v2-hardware is gestart. Dit kan van invloed zijn op de beschikbaarheid en prestaties van uw apps en gegevens.
U moet de migratie naar App Service Environment v3 onmiddellijk voltooien of uw apps en resources kunnen worden verwijderd. We proberen alle resterende App Service Environment v1 en v2 automatisch te migreren met behulp van de in-place migratiefunctie, maar Microsoft maakt geen claim of garanties over de beschikbaarheid van toepassingen na automatische migratie. Mogelijk moet u handmatige configuratie uitvoeren om de migratie te voltooien en de SKU-keuze van uw App Service-plan te optimaliseren om aan uw behoeften te voldoen. Als automatische migratie niet haalbaar is, worden uw resources en bijbehorende app-gegevens verwijderd. We dringen er ten zeerste op aan dat u nu actie moet ondernemen om een van deze extreme scenario's te voorkomen.
Als u extra tijd nodig hebt, kunnen we een eenmalige respijtperiode van 30 dagen aanbieden om uw migratie te voltooien. Raadpleeg het overzicht van de respijtperiode voor meer informatie en om deze respijtperiode aan te vragen. Ga vervolgens naar Azure Portal en ga naar de blade Migratie voor elk van uw App Service-omgevingen.
Zie de buitengebruikstelling van App Service Environment v1/v2 voor de meest recente informatie over de buitengebruikstelling van App Service Environment v1 en v2.
De App Service Environment (ASE) is een implementatie van de Azure-app Service die wordt uitgevoerd binnen uw Azure Virtual Network (VNet). Het kan worden geïmplementeerd met een eindpunt voor een internet toegankelijke toepassing of een toepassingseindpunt dat zich in uw virtuele netwerk bevindt. Als u de ASE implementeert met een eindpunt dat toegankelijk is voor internet, wordt die implementatie een externe ASE genoemd. Als u de ASE implementeert met een eindpunt in uw virtuele netwerk, wordt die implementatie een ILB AS-omgeving genoemd. Meer informatie over de ILB AS-omgeving vindt u in het document Een ILB ASE maken en gebruiken.
De ASE is één tenantsysteem. Omdat het één tenant is, zijn er enkele functies alleen beschikbaar met een AS-omgeving die niet beschikbaar zijn in de multitenant App Service.
ILB ASE-certificaten
Als u een externe ASE gebruikt, worden uw apps bereikt op <de naam van de app>.<asename.p.azurewebsites.net>. Standaard worden alle AS-omgevingen, zelfs ILB-AS's, gemaakt met certificaten die deze indeling volgen. Wanneer u een ILB AS-omgeving hebt, worden de apps bereikt op basis van de domeinnaam die u opgeeft bij het maken van de ILB AS-omgeving. Als u wilt dat de apps TLS ondersteunen, moet u certificaten uploaden. Verkrijg een geldig TLS/SSL-certificaat met behulp van interne certificeringsinstanties, aankoop van een certificaat van een externe verlener of met behulp van een zelfondertekend certificaat.
Er zijn twee opties voor het configureren van certificaten met uw ILB ASE. U kunt een standaardcertificaat voor jokertekens instellen voor de ILB ASE of certificaten instellen voor de afzonderlijke web-apps in de ASE. Ongeacht de keuze die u maakt, moeten de volgende certificaatkenmerken correct worden geconfigureerd:
- Onderwerp: Dit kenmerk moet worden ingesteld op *.[ your-root-domain-here] voor een ILB ASE-certificaat met jokertekens. Als u het certificaat voor uw app maakt, moet dit [appname] zijn. [uw-hoofddomein-hier]
- Alternatieve onderwerpnaam: dit kenmerk moet beide bevatten.[ your-root-domain-here] and.scm.[ your-root-domain-here] voor het ILB ASE-certificaat met jokertekens. Als u het certificaat voor uw app maakt, moet dit [appname] zijn. [your-root-domain-here] en [appname].scm. [uw-root-domein-hier].
Als derde variant kunt u een ILB ASE-certificaat maken dat al uw afzonderlijke app-namen in het SAN van het certificaat bevat in plaats van een jokerteken te gebruiken. Het probleem met deze methode is dat u de namen moet kennen van de apps die u in de ASE plaatst of dat u het ILB ASE-certificaat moet blijven bijwerken.
Certificaat uploaden naar ILB ASE
Nadat een ILB AS-omgeving is gemaakt in de portal, moet het certificaat worden ingesteld voor de ILB AS-omgeving. Totdat het certificaat is ingesteld, wordt in de ASE een banner weergegeven die niet is ingesteld op het certificaat.
Het certificaat dat u uploadt, moet een PFX-bestand zijn. Nadat het certificaat is geüpload, duurt het ongeveer 20 minuten voordat het certificaat wordt gebruikt.
U kunt de ASE niet maken en het certificaat uploaden als één actie in de portal of zelfs in één sjabloon. Als afzonderlijke actie kunt u het certificaat uploaden met behulp van een sjabloon, zoals beschreven in het sjabloondocument Een ASE maken.
Als u snel een zelfondertekend certificaat wilt maken voor testen, kunt u de volgende bit van PowerShell gebruiken:
$certificate = New-SelfSignedCertificate -certstorelocation cert:\localmachine\my -dnsname "*.internal.contoso.com","*.scm.internal.contoso.com"
$certThumbprint = "cert:\localMachine\my\" + $certificate.Thumbprint
$password = ConvertTo-SecureString -String "CHANGETHISPASSWORD" -Force -AsPlainText
$fileName = "exportedcert.pfx"
Export-PfxCertificate -cert $certThumbprint -FilePath $fileName -Password $password
Wanneer u een zelfondertekend certificaat maakt, moet u ervoor zorgen dat de onderwerpnaam de indeling CN={ASE_NAME_HERE}_InternalLoadBalancingASE heeft.
Toepassingscertificaten
Apps die worden gehost in een ASE, kunnen gebruikmaken van de app-gerichte certificaatfuncties die beschikbaar zijn in de multitenant App Service. Deze functies zijn onder andere:
- SNI-certificaten
- OP IP gebaseerde SSL, die alleen wordt ondersteund met een externe ASE. Een ILB AS-omgeving biedt geen ondersteuning voor SSL op basis van IP.
- KeyVault-gehoste certificaten
De instructies voor het uploaden en beheren van deze certificaten zijn beschikbaar in Een TLS/SSL-certificaat toevoegen in Azure-app Service. Als u alleen certificaten configureert zodat deze overeenkomen met een aangepaste domeinnaam die u aan uw web-app hebt toegewezen, zijn deze instructies voldoende. Als u het certificaat uploadt voor een ILB ASE-web-app met de standaarddomeinnaam, geeft u de scm-site op in het SAN van het certificaat zoals eerder is vermeld.
TLS-instellingen
U kunt de TLS-instelling configureren op app-niveau.
Privéclientcertificaat
Een veelvoorkomende use-case is het configureren van uw app als een client in een clientservermodel. Als u uw server beveiligt met een privé-CA-certificaat, moet u het clientcertificaat uploaden naar uw app. Met de volgende instructies worden certificaten geladen in de truststore van de werkrollen waarop uw app wordt uitgevoerd. Als u het certificaat in één app laadt, kunt u het gebruiken met uw andere apps in hetzelfde App Service-plan zonder het certificaat opnieuw te uploaden.
Het certificaat uploaden naar uw app in uw ASE:
- Genereer een .cer-bestand voor uw certificaat.
- Ga naar de app die het certificaat nodig heeft in Azure Portal
- Ga naar SSL-instellingen in de app. Klik op Certificaat uploaden. Selecteer Openbaar. Selecteer Lokale computer. Geef een naam op. Blader en selecteer uw .cer-bestand . Selecteer uploaden.
- Kopieer de vingerafdruk.
- Ga naar Toepassingsinstellingen. Maak een app-instelling WEBSITE_LOAD_ROOT_CERTIFICATES met de vingerafdruk als waarde. Als u meerdere certificaten hebt, kunt u deze in dezelfde instelling plaatsen, gescheiden door komma's en geen witruimte, zoals
84EC242A4EC7957817B8E48913E5095352DAFA6,6A5C65DC9247F762FE17BF8D4906E04FE6B31819
Het certificaat is beschikbaar voor alle apps in hetzelfde App Service-plan als de app, die die instelling heeft geconfigureerd. Als u wilt dat deze beschikbaar is voor apps in een ander App Service-plan, moet u de bewerking App-instelling herhalen in een app in dat App Service-plan. Als u wilt controleren of het certificaat is ingesteld, gaat u naar de Kudu-console en geeft u de volgende opdracht uit in de PowerShell-console voor foutopsporing:
dir cert:\localmachine\root
Als u tests wilt uitvoeren, kunt u een zelfondertekend certificaat maken en een .cer-bestand genereren met de volgende PowerShell:
$certificate = New-SelfSignedCertificate -certstorelocation cert:\localmachine\my -dnsname "*.internal.contoso.com","*.scm.internal.contoso.com"
$certThumbprint = "cert:\localMachine\my\" + $certificate.Thumbprint
$password = ConvertTo-SecureString -String "CHANGETHISPASSWORD" -Force -AsPlainText
$fileName = "exportedcert.cer"
export-certificate -Cert $certThumbprint -FilePath $fileName -Type CERT