Erste Schritte mit IIS-Manager in IIS
von IIS-Team, Tobin Titus
Kompatibilität
Version | Hinweise |
---|---|
IIS 7.0 und höher | Die in diesem Artikel beschriebenen Features wurden in IIS 7.0 eingeführt. |
IIS 6.0 und früher | Die in diesem Artikel beschriebenen Features wurden vor IIS 7.0 nicht unterstützt. |
Einführung
IIS 7.0 und höher verfügen über eine neue Benutzeroberfläche aus früheren Versionen von IIS: den IIS-Manager. In diesem Artikel werden das Erscheinungsbild und Verhalten, die Funktionsdelegierung, die Interaktion mit der Konfiguration und das Remoting beschrieben. Beachten Sie, dass einige Versionen von IIS möglicherweise nicht über einige der in diesem Dokument beschriebenen Funktionalitäten/Funktionen verfügen.
Warum musste es sich ändern? Hier sind einige der wichtigsten Gründe:
- IIS und ASP.NET arbeiten zusammen: IIS 6.0-Benutzer klicken mit der rechten Maustaste auf eine Website, wählen „Alle Eigenschaften“ und erhalten einen Dialog mit einer Reihe von Registerkarten für verschiedene Einstellungen. Mit IIS 7.0 und höher musste IIS-Manager Konfigurationen für neue Funktionen wie Ausgabezwischenspeicherung, Fehleranforderungsablaufverfolgung und Anforderungsfilterung sowie Konfiguration für ASP.NET und relevante Teile von .NET Framework anzeigen. Die neue Funktionalität hätte viele neue Registerkarten benötigt, eine inakzeptable Option.
- Delegierte Verwaltung: Die Verlagerung unserer Konfiguration von der Metabasis auf das .NET-Konfigurationssystem bedeutet, dass Benutzer die IIS-Konfiguration in web.config-Dateien festlegen können, wenn sie dazu berechtigt sind. Beispielsweise kann die Konfiguration für eine Anwendung
http://www.contoso.com/sales
in die Stammkonfigurationsdatei applicationHost.config, in die Site-http://www.contoso.com/
web.config-Datei oder direkt in die Datei „web.config“ der Anwendung geschrieben werden. Der neue IIS Manager muss: 1) einem Administrator erlauben, die in den web.config-Dateien erlaubte Konfiguration zu kontrollieren, 2) dem Administrator/Benutzer zeigen, wo die Konfiguration geschrieben wird. Der ältere IIS Manager war diesen Herausforderungen nicht gewachsen. - Technische Gründe: Software hat eine begrenzte Lebensdauer. Die Zeit bringt neue Technologien, neue Anforderungen und neue Konventionen mit sich. Und irgendwann kommt der Punkt, an dem die Aktualisierung bestehender Software arbeitsintensiver und kostspieliger wird als die Neuerstellung der Software. Der IIS Manager hatte das Ende seiner Lebensdauer erreicht.
Gibt es sonst noch etwas zu wissen? Als wir uns entschlossen, den IIS Manager neu zu schreiben, nutzten wir die Gelegenheit, eine Reihe von wichtigen Verbesserungen vorzunehmen:
- Erweiterbarkeit: Die Erweiterung der IIS 6.0-Version des IIS-Managers war untragbar schwierig. Der neue IIS-Manager erleichtert das Hinzufügen von Funktionsseiten, Strukturansichtsknoten und Menüelementen. Alle verwenden verwalteten Code und WinForms. Neue IIS Manager-Erweiterungen werden automatisch von entfernten IIS Manager-Clients, die sich mit dem Server verbinden, erkannt und heruntergeladen.
- Remoteverwaltung: Die Remoteverwaltung erfolgt über HTTPS und erleichtert die Verwaltung der Firewall. Der Webverwaltungsdienst (Web Management Service, WMSVC) ist die optional installierbare Komponente, welche die Remoteverwaltung ermöglicht.
- Neues Erscheinungsbild und Verhalten: Der IIS-Manager benötigt ein skalierbares Modell zum Verfügbarmachen von Einstellungen, und die resultierende Funktionslistenansicht ähnelt der Systemsteuerung. Eine Listenansicht kann auf unterschiedliche Weise sortiert, gruppiert und angezeigt werden, sodass Sie leichter finden, was Sie suchen. Die Navigation im IIS-Manager ähnelt jetzt auch mehr einem Browser mit einer Adressleiste wie im Windows Explorer.
Hinweis
Dieses Dokument wurde für Windows Server 2008 geschrieben. Windows Vista® verfügt möglicherweise nicht über einige der in diesem Dokument erläuterten Funktionalitäten/Funktionen.
Neues Erscheinungsbild und Gefühl
Der Internetinformationsdienste-Manager (IIS) verfügt in früheren Versionen über eine Rückwärts-/Vorwärts-Navigation und der neue IIS Manager geht sogar noch einen Schritt weiter und fügt eine Adressleiste hinzu, die wie der Windows Explorer funktioniert.
Abbildung 1: Neuer IIS-Manager
Homepage
Die Startseite wird Ihnen sehr vertraut sein, sobald Sie mit dem IIS Manager arbeiten. Die Funktionsliste in der Mitte kann nach Funktionsname oder Beschreibung sortiert, nach Bereich oder Kategorie gruppiert und in verschiedenen Layouts angezeigt werden.
Abbildung 2: Gruppieren im IIS-Manager
Funktionsbereiche
Server-, Site-, Anwendungs-, virtuelle Verzeichnis- und Ordnerknoten in der Strukturansicht zeigen alle eine Startseite mit einer Funktionsliste. Die meisten Funktionen werden auf Startseiten für alle diese Knoten angezeigt, es gibt jedoch Ausnahmen.
Diese Features werden nur auf der Serverstartseite angezeigt, da sie serverweite Konfiguration, Daten oder Informationen sind:
- ISAPI- und CGI-Einschränkungen
- Zertifikate (werden aber überhaupt nicht in Remoteverbindungen angezeigt)
- Verwaltungsdienst (wird jedoch nicht in Remoteverbindungen angezeigt)
- Arbeitsprozesse
Diese Funktionen erscheinen überall, außer auf der Serverstartseite, weil es sich um eine Anwendungskonfiguration handelt und sie auf Serverebene nicht logisch sind, oder weil sie auf diese Weise einfach besser funktionieren (SSL):
- Mitgliedschaftsbenutzer
- Mitgliedschaftsrollen
- Profil
- SSL
Die Funktionen, die der Delegierung zugeordnet sind, weisen spezielle Regeln für die Position auf, an der sie angezeigt werden:
- Funktionsdelegierung: Wird immer nur für den Stammknoten einer Verbindung angezeigt
- Administratoren: Wird nur für Server-, Site- und Anwendungsknoten angezeigt
Funktionsseitenlayouts
Es gibt drei Arten von Seiten in IIS
Listenseite
Listenseiten enthalten Listen. Auf den meisten Listenseiten können Sie nach Werten in einer oder mehreren Spalten gruppieren. Auf den Hauptlistenseiten wie Sites und Anwendungspools können Sie die Listeneinträge filtern, indem Sie in einer Listenspalte nach Einträgen suchen, die einer Suchzeichenfolge entsprechen.
Abbildung 3: IIS-Manager-Listenseite
Mit den Aufgaben zum Hinzufügen/Bearbeiten/Entfernen im Aufgabenbereich können Sie den Inhalt der Liste bearbeiten. Funktionseinstellungen, die nicht für einen Listeneintrag spezifisch sind, z. B. die Angabe, dass benutzerdefinierte Fehler durch detaillierte Fehler für lokale Anforderungen außer Kraft gesetzt werden sollen, werden in der Regel über die Aufgabe Funktionseinstellungen bearbeiten konfiguriert.
Abbildung 4: IIS-Manageraktionen
Eigenschaftsraster
Eigenschaftenrasterseiten zeigen Raster verwandter Eigenschaften an. Mit dem Selektor Anzeige oben im Eigenschaftsraster können Sie wählen, ob Sie die Namen der benutzerdefinierten Eigenschaften, die Namen der Konfigurationseigenschaften oder beide anzeigen möchten. Der folgende Screenshot zeigt beide Namen.
Abbildung 5: Eigenschaftenraster im IIS-Manager
Dialogfeld
Dialogseiten verfügen über Kontrollkästchen, Textfelder und Optionsfelder und sind im Allgemeinen der bekannteste Seitentyp. Verwenden Sie „Anwenden/Abbrechen“ im Aufgabenbereich, um Änderungen zu speichern.
Inhaltsansicht
Die Inhaltsansicht ist eine schreibgeschützte Anzeige. Sie können in dieser Ansicht keine Dateien oder Ordner erstellen, kopieren, verschieben oder löschen. Sie gelangen in die Inhaltsansicht, indem Sie unten im mittleren Fenster des IIS-Managers im Umschalter Funktionsansicht/Inhaltsansicht auf „Inhaltsansicht“ klicken oder indem Sie mit der rechten Maustaste auf einen Strukturansichtsknoten klicken und „Zur Inhaltsansicht wechseln“ wählen.
Die einzige Möglichkeit zum Festlegen der Konfiguration für eine Datei besteht darin, zur Inhaltsansicht zu wechseln, die Datei auszuwählen und im Kontextmenü oder im Aufgabenbereich auf „Zur Funktionsansicht wechseln“ zu klicken.
Abbildung 6: Wechseln zur Funktionsansicht
Funktionsdelegierung
Möglicherweise interessieren Sie sich für die Funktionsdelegierung, wenn Sie ein Serveradministrator sind und nicht die primäre Person sind, die Inhalte auf Ihrem Server bereitstellt, oder wenn Sie Entwickler sind und mehr Kontrolle über die IIS-Konfiguration für Ihre Anwendung wünschen.
IIS-Funktionsdelegierung bedeutet, Folgendes zu verwalten:
- Konfigurationsabschnitt sperren, um zu steuern, welche Konfiguration in „web.config“ festgelegt werden kann (im Allgemeinen ist ein IIS-Konfigurationsabschnitt ein IIS-Modul)
- Die Gruppe von Site- und Anwendungsbenutzern, die IIS-Manager verwenden dürfen, um die Konfiguration anzuzeigen und die Konfiguration für Funktionen mit entsperrten Konfigurationsabschnitten festzulegen
Im Folgenden finden Sie eine kurze Erläuterung der Funktionsdelegierung im IIS-Manager. Eine ausführliche Anleitung finden Sie unter Verwalten der Funktionsdelegierung.
Konfigurationssperre
Wenn ein Konfigurationsabschnitt standardmäßig „gesperrt“ ist, kann er nur in applicationHost.config konfiguriert werden. Der IIS-Manager bietet Serveradministratoren die Möglichkeit, IIS-Konfigurationsabschnitte „entsperren“ zu können. Sobald ein Konfigurationsabschnitt entsperrt ist, kann er in web.config-Dateien von Nichtadministratoren festgelegt werden.
Beispielsweise interagiert die Funktion „Benutzerdefinierte Fehlerseiten“ im IIS-Manager mit der Konfiguration im Abschnitt „system.webServer/httpErrors“. Wenn der Serveradministrator IIS-Manager oder appcmd verwendet, um den Konfigurationsabschnitt „system.web/httpErrors“ zu entsperren, wird der Abschnitt „httpErrors“ in einem Speicherort-Tag mit overrideMode = „zulassen“ in applicationHost.config angezeigt:
<location path="" overrideMode="Allow">
<system.webServer>
<httpErrors/>
</system.webServer>
</location>
OverrideMode = „zulassen“ bedeutet, dass es gültig ist, die Konfiguration für httpErrors in einer web.config-Datei festzulegen:
<configuration>
<system.webServer>
<httpErrors>
<remove statusCode="404" subStatusCode="-1" />
<error statusCode="404" path="/errors/404.aspx" responseMode="Redirect" />
</httpErrors>
</system.webServer>
</configuration>
Lesen Sie den Abschnitt „Server-, Site- und Anwendungsverbindungen“, um zu sehen, wie sich die Konfigurationssperre auf Verbindungen auswirkt. Ausführliche Informationen zu Konfigurationssperren finden Sie unter Verwendung der Konfigurationssperre.
Site- und Anwendungsadministratoren
Darüber hinaus können Serveradministratoren Nicht-Administratoren die Verwendung des IIS-Managers zum Herstellen einer Verbindung mit einer Site oder Anwendung ermöglichen. Nicht-Administratoren, die eine Verbindung mit Sites oder Anwendungen herstellen können, werden als „Site-Administratoren“ oder „Anwendungsadministratoren“ bezeichnet, und sie können:
- Verwalten der entsperrten Konfiguration für ihre Site oder Anwendung (Einstellungen werden in web.config-Dateien geschrieben)
- Anzeigen gesperrter Konfigurationseinstellungen, ohne sie ändern zu können
- Hinzufügen anderer Site- oder Anwendungsadministratoren für ihre Site oder Anwendung
Informationen zum Erstellen von Site- und Anwendungsadministratoren finden Sie in der Onlinedokumentation Erstellen von Site- und Anwendungsadministratoren für die Delegierung.
Server-, Site- und Anwendungsverbindungen
Nur Computeradministratoren können IIS-Manager verwenden, um eine Verbindung mit einem Webserver herzustellen. Serververbindungen können sowohl in Stammkonfigurationsdateien, applicationHost.config und root web.config und alle verteilten web.config-Dateien schreiben. Wenn ein Konfigurationsabschnitt in applicationHost.config gesperrt ist, wird die entsprechende Funktion in einer Serververbindung gelesen/geschrieben, da Konfigurationsänderungen in applicationHost.config in ein Speicherort-Tag geschrieben werden.
Computeradministratoren und designierte Site-Administratoren können eine Verbindung mit Websites herstellen. Siteverbindungen können nur in web.config-Dateien unter dem Stammordner der Site geschrieben werden. Wenn ein Konfigurationsabschnitt in applicationHost.config gesperrt ist, wird die entsprechende Funktion in Siteverbindungen schreibgeschützt angezeigt, da Siteverbindungen keine Konfiguration in applicationHost.config schreiben können (auch nicht in einem Speicherort-Tag). Dies wirkt sich sowohl auf Computeradministratoren als auch auf Siteadministratoren aus.
Abbildung 7: Konfigurationshierarchie im IIS-Manager
Computeradministratoren, festgelegte Anwendungsadministratoren und Site-Administratoren für den übergeordneten Standort der Anwendung können eine Verbindung mit einer Anwendung herstellen. Anwendungsverbindungen können nur in web.config-Dateien unter dem Stammordner der Anwendung schreiben. Wenn ein Konfigurationsabschnitt in applicationHost.config oder in der Datei „web.config“ der Site gesperrt ist, wird die entsprechende Funktion in Anwendungsverbindungen schreibgeschützt angezeigt.
Informationen zum Herstellen einer Verbindung mit einem Server, einer Site oder Anwendung finden Sie in der Onlinedokumentation zum Verwalten von Verbindungen in IIS 7.0.
Konfiguration
Selbst wenn Sie die Konfigurationssperre nie ändern und die Funktionsdelegierung nie verwenden, werden Sie sich irgendwann fragen, wie der IIS Manager entscheidet, wo die Konfiguration geschrieben wird. Es gibt zwei Regeln, die dieses Verhalten definieren:
- ApplicationHost.config vs. root Web.config: Wenn die Funktion unter dem Bereich ASP.NET im IIS-Manager aufgeführt ist, wird die Konfiguration auf Serverebene in die Stammdatei web.config für .NET Framework v2.0 geschrieben. Wenn die Funktion unter dem IIS-Bereich im IIS-Manager aufgeführt ist, wird die Konfiguration auf Serverebene in applicationHost.config geschrieben. Die einzige Ausnahme dieser Regel ist die Formularauthentifizierung, die sich im IIS-Bereich in der Authentifizierungsfunktion befindet.
- Gesperrt im Vergleich zu Entsperrte Konfiguration: Alle ASP.NET-Konfigurationsabschnitte und einige IIS-Konfigurationsabschnitte sind standardmäßig entsperrt. Bei entsperrten Abschnitten schreibt der IIS-Manager in die web.config der Site, wenn die Konfiguration für die Site geändert wird, oder in die Konfiguration einer Anwendung, wenn die Konfiguration für eine Anwendung geändert wird. Die meisten IIS-Konfigurationsabschnitte sind standardmäßig gesperrt. Bei gesperrten Abschnitten schreibt der IIS-Manager immer in applicationHost.config, auch wenn die Konfiguration für Sites und Anwendungen geändert wird.
Statusleiste
In der Statusleiste wird angezeigt, wo der IIS-Manager die Konfiguration schreibt:
Konfiguration: „<config_file_object_path>“ <config_file_name>, <location path = „<path>“>
Der <config\_file\_object\_path>
ist der Pfad zum Konfigurationsdateiobjekt, z. B.:
- „Localhost“: Konfiguration auf Serverebene; applicationHost.config für IIS-Funktionen, Stammweb.config für ASP.NET-Funktionen.
- „Localhost/Default Website“: die Datei web.config im physischen Ordner der Standardwebsite
- „Localhost/Default Web Site/career/technical“: die Datei web.config im physischen Ordner, die der URL „/careers/technical“ unter der Standardwebsite zugeordnet ist
Der <config\_file\_name>
ist der Name der Zielkonfigurationsdatei, z. B.:
- „applicationHost.config oder Stamm-Web.config“: applicationHost.config für IIS-Funktionen, Stamm-web.config für ASP.NET-Funktionen
- „web.config“: eine web.config-Datei im Webnamespace
Der <location\_path>
ist der Speicherortpfad zu dem zu konfigurierenden Objekt (weitere Informationen zu Speicherortpfaden finden Sie unter Konfigurationsübersicht). Dieser Teil des Texts wird nur angezeigt, wenn der Konfigurationsabschnitt der Funktion auf einer höheren Ebene gesperrt ist.
Beispiel: Schreiben in ApplicationHost.config im Vergleich zur Stamm-Web.config
Die Komprimierung ist eine IIS-Funktion, die unter IIS angezeigt wird, wenn Sie die Funktionsliste der Startseite nach Bereich gruppieren/filtern. Wenn Sie zur Seite „Komprimierung auf Serverebene“ navigiert haben und die statische Komprimierung deaktivieren, schreibt der IIS-Manager diese Konfiguration in %windir%\Windows\system32\inetsrv\applicationHost.config
:
<urlCompression doStaticCompression="false" />
.NET Compilation ist .NET Framework-Konfiguration und wird unter ASP.NET angezeigt, wenn Sie die Funktionsliste der Startseite nach Bereich gruppieren/filtern. Wenn Sie zur .NET-Kompilierungsseite auf Serverebene navigiert haben und die Standardsprache auf C# festgelegt haben, fügt IIS-Manager dem Kompilierungsabschnitt in der Stammdatei „web.config“ das Attribut „defaultLanguage“ hinzu, d. h. %windir%\Windows\\Microsoft.NET\Framework\v2.0.50727\CONFIG\web.config
:
<compilation defaultLanguage="C#">
Die Statusleiste für beide Situationen lautet: Konfiguration: „Localhost“ applicationHost.config oder Stamm-web.config
Beispiel: Schreiben in „Gesperrt“ im Vergleich zu Entsperrte Konfiguration
Der IIS-Konfigurationsabschnitt „defaultDocument“ ist standardmäßig entsperrt. Wenn Sie das Standarddokument für die Standardwebsite konfigurieren, schreibt der IIS-Manager diese Konfiguration in %windir%\inetpub\wwwroot\web.config
:
<configuration>
<system.webServer>
<defaultDocument>
<files>
<clear />
<add value="default.aspx" />
</defaultDocument>
</system.webServer>
</configuration>
Die Statusleiste liest Folgendes: Konfiguration: „Standardwebsite“ web.config
Der IIS-Konfigurationsabschnitt „httpErrors“ ist standardmäßig entsperrt. Wenn Sie die HTTP 404-Antwort für die Standardwebsite anpassen, schreibt der IIS-Manager diese Konfiguration in %windir%\Windows\system32\inetsrv\applicationHost.config
:
<location path="Default Web Site" overrideMode="Allow">
<system.webServer>
<httpErrors>
<remove statusCode="404" subStatusCode="-1" />
<error statusCode="404" path="/err/404.aspx" responseMode="Redirect" />
</httpErrors>
</system.webServer>
</location>
Die Statusleiste liest Folgendes: „Localhost“ applicationHost.config oder Stamm-web.config, <Speicherortpfad = „Standardwebsite“>
IIS-Manager-Remoting für IIS 6.0 und frühere Versionen von IIS war über MMC und wurde immer aktiviert. Mit IIS 7.0 und höher muss IIS-Manager-Remoting explizit aktiviert sein. Die gesamte Remoteverwaltung erfolgt über HTTPS und wird von einer IIS-Komponente namens Webverwaltungsdienst (WMSVC) verarbeitet. Wenn Sie die Remoteverwaltung von IIS 7.0 und höher über IIS-Manager aktivieren möchten, lesen Sie Aktivieren von IIS-Manager-Remoting.
Webverwaltungsdienst (WMSVC)
Der Webverwaltungsdienst (WMSVC) ist ein eigenständiger Webserver (hostfähiger Webkern (HWC)), der in einem NT-Dienst gehostet wird. Nachdem WMSVC installiert und gestartet wurde, lauscht es auf Port 8172 auf allen nicht zugewiesenen IP-Adressen. Es erwartet, dass nur 4 Arten von Anforderungen empfangen werden, und jede wird von einem eigenen Handler bedient:
- Anmeldeanforderungen an login.axd
- Codedownloadanforderungen an download.axd
- Verwaltungsdienstanforderungen an service.axd
- Pinganforderungen an ping.axd
Anmeldeanforderungen
IIS Manager sendet eine Anmeldeanforderung über die Leitung an WMSVC, um eine Verbindung herzustellen. Die Authentifizierung erfolgt entweder über NTLM oder grundsätzlich, je nachdem, was der Benutzer ausgewählt hat, als er im Verbindungsdialog aufgefordert wurde, seine Anmeldedaten anzugeben.
Abbildung 9: Angeben von Anmeldeinformationen
Codedownloadanforderungen
Wenn die Anmeldung erfolgreich ist, gibt WMSVC eine Liste der Benutzeroberflächenmodule für die Verbindung zurück. Zum Beispiel entspricht jede IIS Manager-Seite wie „Benutzerdefinierte Fehlerseiten“ einem Modul. Wenn es ein Modul gibt, über das der IIS Manager nicht verfügt, fordert er Sie auf, die Binärdateien des Moduls herunterzuladen (z.B. wenn ein Serveradministrator ein neues RSA Security-Produkt auf seinem Produktionsserver installiert hat, das Produkt aber nicht auf seinem Desktopcomputer, den er für die Verbindung mit dem Server verwendet, installiert hat).
Verwaltungsdienstanforderungen
Nachdem die Verbindung hergestellt wurde, interagiert der Endbenutzer mit dem IIS-Manager und stellt Verwaltungsdienstanfragen. Der Verwaltungsdienst fordert direkte Moduldienste in WMSVC an, um Konfiguration, Laufzeitstatus und Anbieter auf dem Server zu lesen/schreiben.
Pinganforderungen
Pinganforderungen werden innerhalb des WMSVC-Diensts an den Webserver (HWC) gestellt, der gehostet wird. Pinganforderungen sind ein einfacher Mechanismus, um sicherzustellen, dass der hostfähige Webkern weiterhin reaktionsfähig ist.
Dienstkonfiguration:
WMSVC verfügt über eine sehr kleine Anzahl von editierbaren Konfigurationen, die in der Registrierung gespeichert sind. Jedes Mal, wenn der Dienst gestartet wird, werden die Webkonfigurationsdateien neu generiert in %windir%\ServiceProfiles\LocalService\AppData\Local\Temp\WMSvc<GUID>\
. Die Webkonfigurationsdateien können auch von Administratoren nicht bearbeitet werden.
Abbildung 10: Ändern der Konfiguration in der Registrierung
Sicherheit
IIS-Manager- und Webverwaltungsdienst (WMSVC)-Remoting wurden einer Reihe von Prüfungen unterzogen, um sicherzustellen, dass die Funktionalität einfach und sicher ist. Dies sind einige der ergriffenen Sicherheitsmaßnahmen:
- Erfordert SSL (HTTPS) für alle Verbindungen zum Sichern von Daten, die zwischen dem Remote-IIS-Manager-Client und WMSVC übergeben werden
- Läuft als lokaler Dienst mit einer reduzierten Anzahl von Berechtigungen
Gesperrte hostfähige Webkern (HWC)-Konfiguration, einschließlich eines minimalen Satzes erforderlicher Module und sorgfältig ausgearbeiteter Regeln zur Filterung von Anforderungen.