İçeriğe geç
ServerPlus FırsatıYüksek performanslı VDS sunucularda avantajlı fiyatlarTürkiye lokasyon, NVMe disk ve güçlü altyapıyla projelerinizi hızlandırın.
Kampanyayı İncele
Windows

IIS 500.19 0x80070021 Hatası: Kilitli Yapılandırma Bölümünü Güvenle Çözme

26 Ekim 2026·Güncelleme: 26 Ekim 2026·11 dk okuma

IIS 500.19 ve 0x80070021 hatasında kilitli configuration section sorununu web.config, applicationHost.config ve AppCmd ile güvenle teşhis edin.

IIS 500.19 configuration data invalid hatası, IIS’in bir sitenin veya uygulamanın yapılandırmasını okuyamadığını gösterir. Bu rehber, özellikle hata ayrıntısında 0x80070021 ve “This configuration section cannot be used at this path” ifadesi görülen senaryoya odaklanır. Bu kod, çoğunlukla web.config içindeki bir bölümün üst IIS yapılandırmasında kilitli olduğu anlamına gelir. Sorunu çözmek için önce hata satırını ve etkilenen bölümü tespit edin; ardından yalnızca gerekli bölümü, doğru yapılandırma düzeyinde açın veya uygulama yapılandırmasını uygun konuma taşıyın.

Rastgele web.config silmek, tüm IIS bölümlerini açmak ya da doğrudan iisreset çalıştırmak doğru ilk adım değildir. Kilitli bölüm sorunu çoğu zaman kontrollü bir yapılandırma değişikliğiyle, uygulamayı ve diğer siteleri etkilemeden çözülebilir.

Belirti ve kapsam: 500.19 ile 0x80070021 ne anlama gelir?

Tarayıcıda HTTP Error 500.19 görülürken IIS ayrıntılı hata sayfasında genellikle aşağıdaki bilgiler yer alır:

  • Error Code: 0x80070021
  • Config Error: “This configuration section cannot be used at this path. This happens when the section is locked at a parent level.”
  • Config File: Etkilenen web.config dosyasının tam yolu
  • Config Source: Sorunlu XML satırları ve satır numarası

Hata, IIS isteği uygulamaya iletmeden önce oluşur. Bu nedenle uygulama kodu, .NET hata sayfası veya uygulama günlükleri çoğu durumda yararlı olmaz. İnceleme noktası web.config, sunucu düzeyindeki applicationHost.config ve ilgili IIS özelliklerinin kurulum durumudur.

IIS 500.19 configuration data invalid hatası için hızlı teşhis özeti

  1. IIS hata sayfasındaki Error Code, Config File, Config Source ve satır numarasını kaydedin.
  2. Hatanın yalnızca bir siteyi mi, aynı sunucudaki tüm siteleri mi etkilediğini belirleyin.
  3. 0x80070021 ise hata metninde adı geçen yapılandırma bölümünü tespit edin; örneğin system.webServer/handlers veya system.webServer/modules.
  4. Önce mevcut IIS yapılandırmasının yedeğini alın.
  5. Bölümün gerçekten kilitli olup olmadığını AppCmd ile doğrulayın.
  6. Yalnızca gerekli bölüm için, mümkün olan en dar kapsamda düzeltme uygulayın.

Yaygın hata kodları ve doğru yaklaşım

Hata kodu Olası anlam İlk güvenli işlem
0x80070021 Yapılandırma bölümü üst düzeyde kilitli. Hata metnindeki bölümü belirleyin; gereksizse web.config’den kaldırın, gerekliyse yalnız o bölümü açın.
0x8007000d Geçersiz XML, desteklenmeyen özellik veya bozuk yapılandırma verisi. Config Source satırını, XML yapısını ve ilgili IIS rol hizmetini kontrol edin.
0x800700b7 Yinelenen yapılandırma girdisi. Aynı handler, modül veya collection girdisinin üst yapılandırmada da tanımlı olup olmadığını inceleyin.
0x80070005 Yapılandırma dosyasına erişim reddedildi. Dosya ve üst klasör izinlerini, devralmayı ve güvenlik yazılımı müdahalesini kontrol edin.

Bu makaledeki çözüm adımları 0x80070021 içindir. Kod farklıysa, kilit açma işlemi sorunu çözmeyebilir ve yapılandırma güvenliğini gereksiz yere zayıflatabilir.

Olası nedenler

Dağıtım paketi sunucu ayarını web.config içine taşıdı

Uygulama yayınlama sürecinde handlers, modules, security/authentication veya defaultDocument gibi bölümler web.config dosyasına eklenmiş olabilir. Sunucu yöneticisi bu bölümü merkezi olarak kilitlediyse IIS site düzeyindeki tanımı kabul etmez.

Üst yapılandırmada overrideModeDefault değeri Deny

IIS, bazı yapılandırma bölümlerinin alt düzeyde değiştirilmesini engelleyebilir. Bu davranış paylaşımlı veya çok kiracılı ortamlarda bilinçli bir güvenlik tercihi olabilir. Bölümü açmadan önce, uygulamanın gerçekten bu ayarı site düzeyinde değiştirmesine ihtiyaç duyduğunu doğrulayın.

Uygulama yanlış IIS kapsamına yerleştirildi

Bir uygulamanın alt klasörü IIS’te uygulama olarak tanımlanmadığında veya bir <location> bloğu hatalı yol kullanıldığında yapılandırma beklenmedik bir kapsamda yorumlanabilir. Özellikle ana site ile alt uygulama farklı yapılandırma ihtiyaçlarına sahipse IIS Manager’daki uygulama tanımını kontrol edin.

Sunucu rolü ya da modül eksik

Bir uygulama belirli IIS modüllerini veya ASP.NET bileşenlerini bekleyebilir. Eksik rol hizmeti çoğunlukla farklı ayrıntı mesajları üretse de, yapılandırma satırı incelenmeden yalnızca kilit açmak doğru değildir.

Log ve yapılandırma teşhisi

İşleme başlamadan önce bakım penceresi planlayın. Yapılandırma değişikliği genellikle hızlı uygulanır; ancak merkezi IIS yapılandırması veya çok sayıda site kullanılan sistemlerde etkisi daha geniş olabilir. Sunucu düzeyinde değişiklik için yönetici yetkili Komut İstemi ya da PowerShell açın.

IIS yapılandırma yedeği alın

AppCmd, IIS yapılandırması için geri alınabilir bir yedek oluşturabilir. Bu işlem uygulama içerik dosyalarının yedeği değildir; gerekiyorsa site dizini ve dağıtım paketini ayrıca yedekleyin.

%windir%\System32\inetsrv\appcmd add backup Before-IIS-50019-Fix

Yedekleri listelemek için:

%windir%\System32\inetsrv\appcmd list backup

Geri dönüş gerekirse, bu işlem IIS yapılandırmasını yedek anındaki duruma döndürür. Sonradan yapılmış meşru değişiklikleri de geri alabileceğinden önce değişiklik kaydını gözden geçirin.

%windir%\System32\inetsrv\appcmd restore backup Before-IIS-50019-Fix

Hata olaylarını ve etkin yapılandırmayı inceleyin

Windows olay günlüklerinde IIS, WAS ve W3SVC ile ilişkili kayıtları zaman damgasına göre kontrol edin:

Get-WinEvent -LogName System -MaxEvents 300 |
  Where-Object { $_.ProviderName -match 'IIS|WAS|W3SVC' } |
  Select-Object TimeCreated, ProviderName, Id, LevelDisplayName, Message |
  Format-List

Uygulama günlüğünü de incelemek için:

Get-WinEvent -LogName Application -MaxEvents 300 |
  Where-Object { $_.ProviderName -match 'IIS|ASP.NET|.NET Runtime' } |
  Select-Object TimeCreated, ProviderName, Id, LevelDisplayName, Message |
  Format-List

Ardından hata sayfasında belirtilen bölümü AppCmd ile sorgulayın. Aşağıdaki örnekte site adı ve uygulama yolu kendi ortamınıza göre değiştirilmelidir:

%windir%\System32\inetsrv\appcmd list config "Varsayilan Web Sitesi/Uygulama" /section:system.webServer/handlers

Bu komutu hata metninde geçen bölümle çalıştırın. Örneğin hata system.webServer/modules satırını gösteriyorsa sorgudaki bölüm yolunu da buna göre değiştirin.

0x80070021 için güvenli adım adım çözüm

1. Sorunlu web.config satırını doğrulayın

Hata sayfasındaki Config File yolundaki dosyayı açın. Config Source alanında belirtilen satırları inceleyin. Örneğin sorun <handlers> etiketi ise, bu tanımın uygulama için gerekli olup olmadığını belirleyin.

Yayınlama aracının eklediği, uygulamanın kullanmadığı bir bölüm söz konusuysa en güvenli çözüm bu gereksiz tanımı sürüm kontrolündeki doğru yapılandırmaya dönerek kaldırmaktır. Canlı dosyada değişiklik yapmadan önce dosyanın bir kopyasını alın ve değişikliği dağıtım sürecine de yansıtın; aksi halde sonraki yayınlama işlemi sorunu yeniden oluşturur.

2. Bölümü açmak yerine merkezi ayarı kullanmayı değerlendirin

Örneğin tüm sitelerde aynı varsayılan belge, kimlik doğrulama veya handler davranışı isteniyorsa ayarın sunucu ya da site düzeyinde IIS Manager üzerinden merkezi olarak yapılması daha kontrollü olabilir. Bu yaklaşım, uygulamaların hassas IIS ayarlarını kendi web.config dosyalarından değiştirmesini engeller.

Bir ayar yalnızca bu uygulama için gerekliyse ve bölümün alt düzeyde değiştirilebilmesi güvenlik politikanıza uygunsa bir sonraki adıma geçin.

3. Yalnızca gerekli yapılandırma bölümünün kilidini açın

Aşağıdaki örnek yalnızca system.webServer/handlers bölümünü alt düzey yapılandırmaya açar:

%windir%\System32\inetsrv\appcmd unlock config /section:system.webServer/handlers

Hata başka bir bölümü gösteriyorsa handlers yerine yalnızca o bölümün tam yolunu yazın. Örneğin system.webServer/modules ile ilgili bir hata için:

%windir%\System32\inetsrv\appcmd unlock config /section:system.webServer/modules

Dikkat: Kilit açma işlemi ilgili bölümün sunucudaki alt yapılandırma düzeylerinde değiştirilebilmesine izin verir. Çok kiracılı sunucularda veya sıkı değişiklik kontrolü bulunan ortamlarda bu karar güvenlik politikasına göre değerlendirilmelidir. Tüm bölümleri topluca açmayın ve hata metninde geçmeyen bölümlerde deneme yapmayın.

4. Uygulama kapsamını kontrol edin

IIS Manager’da ilgili sitenin altında uygulama klasörünü bulun. Klasör bir uygulama olmalıysa, uygulama olarak tanımlandığını ve doğru application pool’a bağlı olduğunu doğrulayın. Uygulama kökündeki web.config ile sıradan içerik klasörlerindeki yapılandırma dosyalarını karıştırmayın.

Özellikle <location path="..."> kullanan merkezi yapılandırmalarda yolun site ve uygulama hiyerarşisiyle eşleştiğini kontrol edin. Yanlış kapsam, doğru ayarın yanlış dizinde uygulanmasına neden olabilir.

Çözümü doğrulama

Yapılandırma değişikliği çoğu durumda IIS tarafından otomatik algılanır. Önce etkilenen URL’yi yerel sunucudan test edin. HTTPS kullanılıyorsa sertifika adı doğrulamasını dikkate alarak uygun URL’yi kullanın.

Invoke-WebRequest -Uri "http://localhost/" -UseBasicParsing |
  Select-Object StatusCode, StatusDescription

Uygulama ayrı bir IIS uygulama yolundaysa URL’ye bu yolu ekleyin. Ardından uzak istemciden erişimi test edin ve hata sayfasında 500.19 yerine beklenen HTTP yanıtını doğrulayın.

Değişiklikten sonra uygulama havuzunu yalnızca gerekli olduğunda geri dönüştürün. Bu işlem, o havuzdaki istekleri kısa süreli etkileyebilir:

Import-Module WebAdministration
Restart-WebAppPool -Name "UygulamaHavuzuAdi"

Sunucudaki tüm siteleri etkileyecek iisreset komutunu rutin çözüm olarak kullanmayın. Yapılandırma hatası devam ediyorsa, yaptığınız son değişikliği geri alın ve IIS ayrıntı sayfasındaki yeni hata kodu ile Config Source satırına göre yeniden değerlendirme yapın.

Tekrarını önleme

  • web.config dosyalarını sürüm kontrolünde tutun; canlı ortamda yapılan acil değişiklikleri kaynak yapılandırmaya geri taşıyın.
  • Üretim öncesi ortamda IIS sürümü, kurulu rol hizmetleri ve kilitli bölümleri üretimle karşılaştırın.
  • Dağıtım öncesinde XML doğrulaması ve uygulamaya özel yapılandırma incelemesi yapın.
  • Hangi IIS bölümlerinin site düzeyinde değiştirilebildiğini değişiklik yönetimi dokümantasyonunda açıkça tanımlayın.
  • Merkezi yapılandırma kullanılıyorsa değişiklik öncesinde ilgili yapılandırma paylaşımının, erişim izinlerinin ve geri dönüş planının doğrulandığından emin olun.

Sonuç: IIS 500.19 configuration data invalid hatası kontrollü çözülmelidir

IIS 500.19 configuration data invalid hatası içindeki 0x80070021, çoğunlukla uygulama hatası değil, IIS yapılandırma hiyerarşisindeki kilit kuralıdır. Hata sayfasındaki bölüm adını esas alın, önce yedek oluşturun, gereksiz web.config tanımlarını kaldırmayı değerlendirin ve yalnızca zorunlu bölümü açın. Böylece hem hizmeti geri yükler hem de IIS yapılandırmasında gereksiz yetki genişlemesini önlersiniz.

Sık sorulan sorular

500.19 hatasında iisreset çalıştırmak sorunu çözer mi?

Genellikle hayır. 500.19 yapılandırma okunamadığında oluşur; yeniden başlatma hatalı veya kilitli yapılandırmayı değiştirmez. Ayrıca tüm IIS sitelerini etkileyebilir.

0x80070021 için tüm IIS bölümlerini unlock etmek güvenli midir?

Hayır. Sadece hata metninde belirtilen ve uygulamanın gerçekten ihtiyaç duyduğu bölüm değerlendirilmelidir. Toplu kilit açma, alt düzey uygulamalara gereğinden fazla yapılandırma değişikliği yetkisi verir.

web.config dosyasını silmek 500.19 hatasını giderir mi?

Geçici olarak hata davranışını değiştirebilir, ancak uygulamanın gerekli ayarlarını da kaldırabilir. Önce dosyayı yedekleyin, Config Source satırındaki sorunlu bölümü analiz edin ve hedefli değişiklik yapın.

Hata yalnızca bir sitede görülüyorsa applicationHost.config dosyasını değiştirmeli miyim?

Her zaman değil. Önce ilgili sitenin veya uygulamanın web.config dosyasını ve IIS uygulama kapsamını kontrol edin. Merkezi kilit kuralını değiştirmek ancak bunun gerekli olduğu doğrulandıktan sonra uygulanmalıdır.

500.19 ile 0x8007000d aynı şekilde mi çözülür?

Hayır. 0x8007000d genellikle geçersiz yapılandırma verisi, XML sorunu veya desteklenmeyen bir bileşene işaret eder. Önce hata ayrıntısındaki satırı ve ilgili IIS özellik kurulumunu inceleyin.

ServerPlus Teknik Ekibi

Sunucu, hosting, sanallaştırma ve veri merkezi operasyonlarından edinilen bilgileri uygulanabilir teknik rehberlere dönüştürür.