Was ist IIS? Microsofts Windows-Webserver und Alternativen
Internet Information Services (IIS) ist Microsofts Webserver-Plattform für Windows. Sie empfängt HTTP- und HTTPS-Anfragen und stellt Websites, Webanwendungen und APIs bereit. Umgangssprachlich wird manchmal auch „Windows Web“ synonym für IIS verwendet; es handelt sich dabei nicht um ein separates Serverprodukt von Microsoft. Administratoren können IIS mit dem grafischen IIS-Manager, PowerShell, Befehlszeilentools und Konfigurationsdateien verwalten.
Unter Windows Server ist IIS als Webserver (IIS) installiert . Auf unterstützten Windows-Client-Editionen kann es optional aktiviert werden, üblicherweise für lokale Entwicklungs- oder Testzwecke. Die verfügbaren Komponenten hängen von der Windows-Edition und -Version ab; daher sollte die Konfiguration eines Entwickler-PCs nicht als Leitfaden für den Produktiveinsatz dienen.
Eine illustrierte Darstellung des IIS-Managers zeigt, wo Administratoren eine Website auswählen und auf allgemeine Einstellungen zugreifen.
Was IIS bietet
IIS kann statische Dateien wie HTML, Stylesheets, Skripte und Bilder ausliefern. Es kann auch Anfragen an Anwendungen weiterleiten, die Inhalte dynamisch generieren. IIS verwendet optionale Module für Aufgaben wie Authentifizierung, Protokollierung, Anfragefilterung, Komprimierung und URL-Umschreibung, sodass Administratoren die für eine Anwendung benötigten Komponenten aktivieren können.
IIS wird häufig für Microsoft-Webanwendungen verwendet. Beispielsweise kann ASP.NET Core über das ASP.NET Core-Modul mit IIS ausgeführt werden. Die aktuelle Dokumentation zum .NET Hosting Bundle von Microsoft beschreibt die für diese Konfiguration benötigte Laufzeitumgebung und das Modul. Andere Technologien funktionieren möglicherweise über zusätzliche Handler oder Module, jedoch sollten Kompatibilität, Wartung und Sicherheitsunterstützung für die jeweilige Anwendung geprüft werden.
Die grafische Konsole ist eine der größten Stärken von IIS. Sie organisiert Websites, Bindungen, Anwendungspools, Module, Sicherheitseinstellungen und Protokolle an einem zentralen Ort. Dieselbe Umgebung lässt sich auch mit PowerShell automatisieren oder über Dateien konfigurieren, was Teams die Wiederverwendung von Einstellungen auf verschiedenen Servern erleichtert.
Wie IIS eine Webanfrage verarbeitet
In modernen IIS-Systemen überwacht der Windows-HTTP-Stack (HTTP.sys) eingehenden HTTP- und HTTPS-Datenverkehr. IIS-Dienste und der Windows-Prozessaktivierungsdienst (WAS) nutzen die Serverkonfiguration, um Anfragen an die richtige Website und den richtigen Anwendungspool weiterzuleiten. Ein Workerprozess verarbeitet die Anfrage und sendet über den HTTP-Stack eine Antwort zurück. Die Architekturbeschreibung von Microsoft für IIS beschreibt diese Komponenten und den Anfrageablauf.
Ein Anwendungspool gruppiert eine oder mehrere Webanwendungen unter Workerprozess-Einstellungen. Separate Pools schaffen Prozessgrenzen, wodurch verhindert werden kann, dass sich ein Problem in einer Anwendung direkt auf Anwendungen in einem anderen Pool auswirkt. Sie isolieren die Arbeitslasten jedoch nicht vom gemeinsam genutzten Betriebssystem, der CPU, dem Arbeitsspeicher oder der Netzwerkkapazität des Servers, sodass Ressourcennutzung und Berechtigungen weiterhin überwacht werden müssen.
Konzeptioneller Anfrageablauf: HTTP.sys empfängt eine Browseranfrage, IIS leitet sie an einen Anwendungspool weiter, und ein Workerprozess gibt die Antwort zurück.
Wann ist IIS sinnvoll?
Wählen Sie IIS, wenn Ihre Anwendung bereits von Windows Server, ASP.NET, Windows-Authentifizierung oder IIS-spezifischen Konfigurationen abhängig ist oder wenn Ihr Team in der Lage ist, Windows-Server zu administrieren.
Ziehen Sie einen anderen Server in Betracht , wenn Sie eine Linux-basierte Bereitstellung benötigen, eine dateibasierte Konfiguration bevorzugen oder einen Reverse-Proxy mit einem anderen Betriebsmodell wünschen.
Verwenden Sie IIS Express für ressourcenschonende lokale Entwicklungs- und Testzwecke, wenn eine vollständige Serverinstallation nicht erforderlich ist. Microsoft beschreibt es als entwicklungsorientierte Version, nicht als vollwertigen Ersatz für Produktionshosting.
IIS ist eine Windows-Komponente und keine separat erworbene Webserverlizenz pro Website oder Besucher. Die Windows Server-Lizenz- und Zugriffsregeln können jedoch für die Bereitstellung gelten. Microsoft weist darauf hin, dass für den Zugriff auf Windows Server-Software möglicherweise eine Clientzugriffslizenz (CAL) erforderlich ist. Bitte beachten Sie die offiziellen CAL-Richtlinien und die Bedingungen Ihrer Hosting-Vereinbarung.
Alternativen zu IIS, die in Betracht gezogen werden sollten
Es gibt keinen universell „besten“ Webserver. Vergleichen Sie die Plattform, die Ihre Anwendung benötigt, die bevorzugten Konfigurationseinstellungen Ihres Teams und ob der Server eine Anwendung direkt hosten oder den Datenverkehr an einen anderen Prozess weiterleiten muss.
Konzeptueller Vergleich der Benutzeroberfläche: IIS verwendet eine Windows-Konsole, während Apache und NGINX häufig über Textdateien konfiguriert werden.
Option
Passt gut, wenn
Abwägung zu berücksichtigen
Apache HTTP-Server
Sie wünschen sich einen modularen Open-Source-Server mit umfangreichen Konfigurationsmöglichkeiten und einer breit gefächerten Plattformdokumentation.
Die zahlreichen Module und Direktiven bieten zwar Flexibilität, erfordern aber von Administratoren Kenntnisse und die Pflege der Konfiguration. Siehe die Dokumentation des Apache HTTP Servers .
NGINX
Sie benötigen einen Webserver, der auch als Reverse-Proxy oder HTTP-Loadbalancer vor den Anwendungsdiensten fungieren kann.
Die Konfiguration erfolgt über Textdateien und leitet dynamische Anfragen üblicherweise an einen separaten Anwendungsprozess weiter. Lesen Sie die offizielle NGINX-Dokumentation .
Caddy
Sie wünschen sich eine übersichtliche Konfiguration sowie die automatische Bereitstellung und Erneuerung von HTTPS-Zertifikaten für berechtigte öffentliche Hostnamen.
Für eine bestehende Windows-Anwendung kann die Beibehaltung von IIS die einfachste Lösung sein, sofern der Server unterstützt und sicher gewartet wird. Bei einem neuen Projekt sollten Sie die Plattformanforderungen der Anwendung und die Betriebssysteme, mit denen Ihr Team zuverlässig arbeiten kann, berücksichtigen. Testen Sie Authentifizierung, URL-Regeln, Zertifikate, Protokollierung und Bereitstellungsverhalten, bevor Sie eine Live-Website von einem Server auf einen anderen verschieben.
Fazit
IIS ist Microsofts konfigurierbarer Webserver für Windows mit einer Verwaltungskonsole und einem Anwendungspoolmodell, das sich für viele Windows-basierte Websites und Dienste eignet. Apache HTTP Server, NGINX und Caddy sind gute Alternativen, wenn ihre Plattformen oder Betriebsmodelle besser zum jeweiligen Projekt passen. Die Wahl sollte auf Anwendungskompatibilität, Administrationsanforderungen sowie Lizenz- und Supportanforderungen der gesamten Umgebung basieren.