IIS, Windows üzerinde web sitelerini, web uygulamalarını ve API'leri yayınlayan Microsoft web sunucusudur. Bu yazıda IIS'in ne olduğunu, nasıl çalıştığını, hangi özellikleri sunduğunu ve ne zaman tercih edilmesi gerektiğini bulacaksınız.
IIS (Internet Information Services) nedir? IIS (Internet Information Services), Microsoft'un geliştirdiği, Windows Server ve Windows istemci sürümlerinde çalışan modüler bir web sunucusu ve uygulama platformudur. HTTP, HTTPS, FTP gibi protokollerle web sitelerini, ASP.NET ve ASP.NET Core uygulamalarını, API'leri ve web servislerini barındırır. Kimlik doğrulama, SSL/TLS, URL yeniden yazma, günlükleme ve uygulama havuzu yönetimi gibi özellikleri yerleşik ya da modül olarak sunar.
Sunucu teknolojileriyle ilgilenenlerin sıkça karşılaştığı IIS nedir sorusunun yanıtı, Microsoft'un Windows için geliştirdiği web sunucusu yazılımında saklıdır. Bir tarayıcı bir adrese istek gönderdiğinde, o isteği karşılayan ve sayfayı ya da uygulama çıktısını geri döndüren yazılım web sunucusudur. IIS bu işi Windows ortamlarında üstlenir.
IIS ilk olarak 1995'te Windows NT 3.51 için isteğe bağlı bir eklenti olarak çıktı. Zamanla yalnızca temel HTTP ve FTP hizmeti veren bir araçtan, modüler yapıya sahip tam bir web platformuna dönüştü. Bugün Windows Server'ın bir rolü olarak gelir ve hem eski hem modern uygulamaların, şirket içi (on-premises) ve hibrit ortamlarda barındırılmasında kullanılır.
Windows altyapısını araştıranların merak ettiği bir diğer nokta olan lisanslandırma tarafında, IIS ayrı bir lisans bedeli gerektirmez. Windows Server ya da Windows istemci sürümüyle birlikte gelir ve gerektiğinde bir rol ya da özellik olarak etkinleştirilir.
Temelde IIS nedir sorusunu yanıtladıktan sonra bu sunucunun ne işe yaradığına bakmak gerekir. IIS'in görevi, istemciden gelen HTTP/HTTPS isteklerini alıp doğru uygulamaya yönlendirmek ve yanıtı güvenli biçimde geri göndermektir. Pratikte şu işler için kullanılır:
Mimari açıdan incelediğimizde IIS, istekleri katmanlı bir yapıyla işler. İstekler önce çekirdek düzeyindeki HTTP.sys sürücüsüne ulaşır, sonra Windows Process Activation Service (WAS) ilgili uygulama havuzunun çalışma sürecini başlatır.
Her uygulama havuzu (application pool), kendi w3wp.exe sürecinde çalışır. Böylece bir uygulamadaki hata diğer sitelere yayılmaz. Havuz bazında kimlik, .NET sürümü, geri dönüştürme (recycle) ve bellek sınırı gibi ayarlar yapılabilir.
Yapılandırma applicationHost.config (sunucu geneli) ve uygulama klasöründeki web.config dosyalarıyla yönetilir. Bu dosyalar XML tabanlıdır ve sürüm kontrolüne alınabilir.
Yalnızca gereken modüller yüklenir. Bu, saldırı yüzeyini ve bellek kullanımını azaltır.
Siteler birbirinden yalıtılır. Ayrı kimlik, geri dönüştürme ve kaynak sınırları tanımlanır.
Anonim, Basic, Windows, Digest ve istemci sertifikası yöntemleri desteklenir.
Tek IP üzerinde birden çok HTTPS sitesi için Server Name Indication ve merkezi sertifika deposu kullanılabilir.
Modern protokol desteği vardır. HTTP/3, Windows Server 2022 ve sonrasında kullanılabilir ve TLS 1.3 gerektirir.
Yönlendirme ve yeniden yazma kuralları SEO dostu URL'ler ve ters vekil senaryoları için kullanılır.
Dosya uzantısı, URL uzunluğu, HTTP fiil ve istek boyutu bazlı filtreleme yapar.
Statik ve dinamik içerik sıkıştırma, çıktı önbelleği ve çekirdek düzeyi önbellek sunar.
Gerçek zamanlı uygulamalar için çift yönlü iletişimi destekler.
W3C günlükleri ve Failed Request Tracing ile hataların kök nedeni izlenir.
IIS Manager arayüzü, appcmd, PowerShell ve Web Deploy ile yönetim ve dağıtım yapılır.
Active Directory, Windows kimlik doğrulaması ve .NET ile doğal uyum sağlar.
IIS sürümü işletim sistemiyle birlikte gelir. Aşağıdaki tablo, yaygın eşleşmeleri gösterir.
| IIS Sürümü | Windows Server | Öne Çıkan Nokta |
|---|---|---|
| IIS 7.0 / 7.5 | 2008 / 2008 R2 | Modüler mimari ve web.config tabanlı yapılandırma |
| IIS 8.0 / 8.5 | 2012 / 2012 R2 | SNI, merkezi sertifika deposu, WebSocket |
| IIS 10.0 | 2016, 2019 | HTTP/2, konteyner desteği |
| IIS 10.0 | 2022 | HTTP/3 ve QUIC desteği (ek yapılandırma gerekir) |
| IIS 10.0 | 2025 | HTTP/3 desteği yerleşik |
Windows Server'da en hızlı yol PowerShell'dir. Yönetici olarak açılmış bir PowerShell penceresinde şu komutu çalıştırın:
Install-WindowsFeature -Name Web-Server -IncludeManagementTools
Alternatif olarak Server Manager → Add Roles and Features → Web Server (IIS) yolunu izleyebilirsiniz. Windows 10 ve 11'de ise Windows özelliklerini aç veya kapat ekranından "Internet Information Services" seçilir.
Kurulum bittikten sonra tarayıcıda http://localhost adresini açın. Varsayılan IIS karşılama sayfası görünüyorsa sunucu çalışıyordur. Varsayılan site dosyaları genellikle C:\inetpub\wwwroot klasöründedir. HTTP için 80, HTTPS için 443 numaralı portlar kullanılır.
| Kriter | IIS | Apache | Nginx |
|---|---|---|---|
| Platform | Yalnızca Windows | Çapraz platform | Çapraz platform |
| Güçlü Olduğu Alan | .NET ve Windows kurumsal ortamı | Esnek modül yapısı, PHP siteleri | Yüksek eşzamanlılık, ters vekil, yük dengeleme |
| Yönetim | Grafik arayüz, PowerShell | Yapılandırma dosyaları | Yapılandırma dosyaları |
| Kimlik Doğrulama | Windows ve Active Directory entegrasyonu | Modüllerle | Modüllerle veya harici çözümlerle |
| Lisans | Windows lisansına dahil | Açık kaynak | Açık kaynak |
Uygulamanız ASP.NET tabanlıysa, Active Directory ile çalışıyorsa ya da ekibiniz Windows Server yönetiminde deneyimliyse IIS doğal seçimdir. Altyapınız Linux ağırlıklıysa Nginx veya Apache daha uygun olabilir.
IIS Monitoring: En Kritik IIS Alarmları Neler?
Varsayılan kurulum çalışır durumdadır ama üretim için sertleştirme gerekir. Temel adımlar:
Server ve X-Powered-By gibi sürüm bilgisi veren başlıkları kaldırın.İzleme tarafında IIS günlükleri, performans sayaçları (istek/sn, kuyruk uzunluğu, çalışma süreci belleği) ve uygulama havuzu durumu birlikte takip edilmelidir. Sertifika bitiş tarihleri ve HTTP 5xx oranları, sorunların erken görülmesini sağlayan en pratik göstergelerdendir.
IIS ayrı bir lisans ücreti gerektirmez. Windows Server ve Windows istemci sürümlerinin bir rolü ya da özelliği olarak gelir. Maliyet, Windows Server lisansından doğar.
IIS yalnızca Windows üzerinde çalışır ve Windows Server, Active Directory ve ASP.NET ile derin entegrasyon sunar. Apache ve Nginx çapraz platformdur ve Linux sunucularda yaygındır. Seçim çoğunlukla uygulamanın teknolojisine ve altyapıdaki işletim sistemine göre yapılır.
Evet. PHP, FastCGI ile IIS üzerinde çalışır. Node.js uygulamaları genellikle IIS'i ters vekil (reverse proxy) olarak kullanan URL Rewrite ve Application Request Routing ile ya da iisnode benzeri yaklaşımlarla yayınlanır.
Hayır. IIS yalnızca Windows işletim sistemlerinde çalışır. Linux üzerinde .NET uygulamaları için Kestrel, Nginx veya Apache gibi seçenekler kullanılır.
IIS yapılandırmalarınızı, performans optimizasyonlarını ve kurumsal barındırma süreçlerinizi profesyonel ekibimizle yönetin.
Bize Ulaşın →