PowerShell kullanarak bir web uygulamasına özel TLS/SSL sertifikası bağlama

Bu örnek betik, App Service'de ilgili kaynaklarıyla bir web uygulaması oluşturur, ardından özel bir etki alanı adının TLS/SSL sertifikasını ona bağlar.

Gerekirse, Azure PowerShell kılavuzunda bulunan yönergeyi kullanarak Azure PowerShell yükleyin ve azure ile bağlantı oluşturmak için komutunu çalıştırınConnect-AzAccount. Ayrıca, şunları yaptığınızdan emin olun:

  • az login komutunu kullanarak Azure ile bir bağlantı oluşturuldu.
  • Etki alanı kayıt şirketinizin DNS yapılandırma sayfasına erişiminiz var.
  • Geçerli bir . Karşıya yüklemek ve bağlamak istediğiniz TLS/SSL sertifikası için PFX dosyası ve parolası.

Örnek betik

Not

Azure ile etkileşime geçmek için Azure Az PowerShell modülünü kullanmanızı öneririz. Başlamak için bkz. Azure PowerShell'i yükleme. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.

$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

Dağıtımı temizleme

Betik örneği çalıştırıldıktan sonra, kaynak grubunu, web uygulamasını ve ilişkili tüm kaynakları kaldırmak için aşağıdaki komut kullanılabilir.

Remove-AzResourceGroup -Name myResourceGroup -Force

Betik açıklaması

Bu betik aşağıdaki komutları kullanır. Tablodaki her komut, komuta özgü belgelere yönlendirir.

Komut Notlar
New-AzResourceGroup Tüm kaynakların depolandığı bir kaynak grubu oluşturur.
New-AzAppServicePlan App Service planı oluşturur.
New-AzWebApp Bir web uygulaması oluşturur.
Set-AzAppServicePlan Fiyatlandırma katmanını değiştirmek için App Service planını değiştirir.
Set-AzWebApp Web uygulamasının yapılandırmasını değiştirir.
New-AzWebAppsSLBinding Bir web uygulaması için TLS/SSL sertifika bağlaması oluşturur.

Sonraki adımlar

Azure PowerShell modülü hakkında daha fazla bilgi için bkz. Azure PowerShell belgeleri.

Azure App Service Web Apps için ek Azure PowerShell örneklerini Azure PowerShell örnekleri bölümünde bulabilirsiniz.