Aracılığıyla paylaş


Sertifikalar ve App Service Ortamı v2

Önemli

Bu makale, Yalıtılmış App Service planlarıyla kullanılan App Service Ortamı v2 hakkındadır. App Service Ortamı v2, 31 Ağustos 2024 tarihinde kullanımdan kaldırılacaktır. Kullanımı daha kolay olan ve daha güçlü bir altyapı üzerinde çalışan yeni bir App Service Ortamı sürümü vardır. Yeni sürüm hakkında daha fazla bilgi edinmek için App Service Ortamı giriş ile başlayın. Şu anda App Service Ortamı v2 kullanıyorsanız, yeni sürüme geçmek için lütfen bu makaledeki adımları izleyin.

29 Ocak 2024 itibarıyla ARM/Bicep şablonları, Azure Portalı, Azure CLI veya REST API gibi kullanılabilir yöntemlerden herhangi birini kullanarak yeni App Service Ortamı v2 kaynakları oluşturamıyabilirsiniz. Kaynak silme ve veri kaybını önlemek için 31 Ağustos 2024'e kadar App Service Ortamı v3'e geçmeniz gerekir.

App Service Ortamı(ASE), Azure Sanal Ağ(VNet) içinde çalışan bir Azure Uygulaması Hizmeti dağıtımıdır. İnternet'te erişilebilen bir uygulama uç noktası veya sanal ağınızdaki bir uygulama uç noktası ile dağıtılabilir. ASE'yi İnternet'in erişebildiği bir uç noktayla dağıtırsanız, bu dağıtıma Dış ASE adı verilir. ASE'yi sanal ağınızdaki bir uç noktayla dağıtırsanız, bu dağıtımALB ASE olarak adlandırılır. ILB ASE oluşturma ve kullanma belgesinden ILB ASE hakkında daha fazla bilgi edinebilirsiniz.

ASE tek bir kiracı sistemidir. Tek kiracı olduğundan, yalnızca çok kiracılı App Service'te bulunmayan bir ASE ile kullanılabilen bazı özellikler vardır.

ILB ASE sertifikaları

Dış ASE kullanıyorsanız uygulamalarınıza appname> adresinden <ulaşılır.<asename.p.azurewebsites.net>. Varsayılan olarak tüm ASE'ler, hatta ILB ASE'leri, bu biçime uygun sertifikalarla oluşturulur. ILB ASE'niz olduğunda, uygulamalara ILB ASE'yi oluştururken belirttiğiniz etki alanı adı temelinde ulaşılır. Uygulamaların TLS'yi desteklemesi için sertifikaları karşıya yüklemeniz gerekir. İç sertifika yetkililerini kullanarak, bir dış verenden sertifika satın alarak veya otomatik olarak imzalanan bir sertifika kullanarak geçerli bir TLS/SSL sertifikası alın.

ILB ASE'nizle sertifikaları yapılandırmak için iki seçenek vardır. ILB ASE için joker karakter varsayılan sertifika ayarlayabilir veya ASE'deki tek tek web uygulamalarında sertifika ayarlayabilirsiniz. Yaptığınız seçimden bağımsız olarak, aşağıdaki sertifika özniteliklerinin düzgün yapılandırılması gerekir:

  • Konu: Bu öznitelik *.[ olarak ayarlanmalıdır joker karakter ILB ASE sertifikası için your-root-domain-here] yazın. Uygulamanız için sertifika oluşturuyorsanız [appname] olmalıdır. [your-root-domain-here]
  • Konu Alternatif Adı: Bu öznitelik her ikisini de içermelidir *.[ your-root-domain-here] ve *.scm. Joker karakter ILB ASE sertifikası için [your-root-domain-here] . Uygulamanız için sertifika oluşturuyorsanız [appname] olmalıdır. [your-root-domain-here] ve [appname].scm. [your-root-domain-here].

Üçüncü bir değişken olarak, joker karakter başvurusu kullanmak yerine sertifikanın SAN'sında tek tek tüm uygulama adlarınızı içeren bir ILB ASE sertifikası oluşturabilirsiniz. Bu yöntemle ilgili sorun, ASE'ye yerleştirdiğiniz uygulamaların adlarını bilmeniz veya ILB ASE sertifikasını güncelleştirmeye devam etmeniz gerekmesidir.

Sertifikayı ILB ASE'ye yükleme

Portalda bir ILB ASE oluşturulduktan sonra, ILB ASE için sertifika ayarlanmalıdır. Sertifika ayarlanana kadar ASE, sertifikanın ayarlanmadığını belirten bir başlık gösterir.

Karşıya yüklediğiniz sertifika bir .pfx dosyası olmalıdır. Sertifika karşıya yüklendikten sonra, sertifika kullanılmadan önce yaklaşık 20 dakika gecikme olur.

ASE'yi oluşturamaz ve sertifikayı portalda veya tek bir şablonda tek bir eylem olarak karşıya yükleyemezsiniz. Ayrı bir eylem olarak, şablondan ASE oluşturma belgesinde açıklandığı gibi bir şablon kullanarak sertifikayı karşıya yükleyebilirsiniz.

Test için otomatik olarak imzalanan bir sertifikayı hızlı bir şekilde oluşturmak istiyorsanız, aşağıdaki PowerShell bitini kullanabilirsiniz:

$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

Otomatik olarak imzalanan sertifika oluştururken, konu adının CN={ASE_NAME_HERE}_InternalLoadBalancingASE biçiminde olduğundan emin olmanız gerekir.

Uygulama sertifikaları

ASE'de barındırılan uygulamalar, çok kiracılı App Service'te bulunan uygulama merkezli sertifika özelliklerini kullanabilir. Bu özellikler şunlardır:

  • SNI sertifikaları
  • YALNıZCA Dış ASE ile desteklenen IP tabanlı SSL. ILB ASE, IP tabanlı SSL'yi desteklemez.
  • KeyVault tarafından barındırılan sertifikalar

Bu sertifikaları karşıya yükleme ve yönetme yönergelerine Azure Uygulaması Hizmeti'nde TLS/SSL sertifikası ekleme bölümünden ulaşabilirsiniz. Sertifikaları, web uygulamanıza atadığınız özel bir etki alanı adıyla eşleşecek şekilde yapılandırıyorsanız, bu yönergeler yeterli olacaktır. Varsayılan etki alanı adıyla bir ILB ASE web uygulamasının sertifikasını karşıya yüklüyorsanız, daha önce belirtildiği gibi sertifikanın SAN'sinde scm sitesini belirtin.

TLS ayarları

TLS ayarını uygulama düzeyinde yapılandırabilirsiniz.

Özel istemci sertifikası

Yaygın bir kullanım örneği, uygulamanızı istemci-sunucu modelinde istemci olarak yapılandırmaktır. Sunucunuzun güvenliğini özel CA sertifikasıyla sağlarsanız, istemci sertifikasını uygulamanıza yüklemeniz gerekir. Aşağıdaki yönergeler, uygulamanızın üzerinde çalıştığı çalışanların güven deposuna sertifika yükler. Sertifikayı bir uygulamaya yüklerseniz, sertifikayı yeniden karşıya yüklemeden aynı App Service planındaki diğer uygulamalarınızla birlikte kullanabilirsiniz.

Sertifikayı ASE'nizdeki uygulamanıza yüklemek için:

  1. Sertifikanız için bir .cer dosyası oluşturun.

  2. Azure portalında sertifikaya ihtiyaç duyan uygulamaya gidin

  3. Uygulamada SSL ayarları'na gidin. Sertifikayı Karşıya Yükle’ye tıklayın. Genel’i seçin. Yerel Makine'yi seçin. Bir ad girin. .cer dosyanıza göz atın ve dosyayı seçin. Karşıya yükle'yi seçin.

  4. Parmak izini kopyalayın.

  5. Uygulama Ayarlar'ne gidin. Değer olarak parmak iziyle bir Uygulama Ayarı WEBSITE_LOAD_ROOT_CERTIFICATES oluşturun. Birden çok sertifikanız varsa, bunları virgülle ayırıp boşluk bırakmadan aynı ayara yerleştirebilirsiniz.

    84EC242A4EC7957817B8E48913E50953552DAFA6,6A5C65DC9247F762FE17BF8D4906E04FE6B31819

Sertifika, bu ayarı yapılandıran uygulamayla aynı app service planındaki tüm uygulamalar tarafından kullanılabilir. Farklı bir App Service planındaki uygulamalar için kullanılabilir olması gerekiyorsa, bu App Service planındaki bir uygulamada Uygulama Ayarı işlemini yinelemeniz gerekir. Sertifikanın ayarlanıp ayarlanmadığını denetlemek için Kudu konsoluna gidin ve PowerShell hata ayıklama konsolunda aşağıdaki komutu verin:

dir cert:\localmachine\root

Test gerçekleştirmek için otomatik olarak imzalanan bir sertifika oluşturabilir ve aşağıdaki PowerShell ile bir .cer dosyası oluşturabilirsiniz:

$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