Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
von IIS-Team, Tobin Titus
Compatibility
| 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. |
Einleitung
IIS 7.0 und höher verfügen über eine neue Benutzeroberfläche aus früheren Versionen von IIS: dem IIS-Manager. In diesem Artikel werden das Aussehen und Verhalten, die Delegierung von Funktionen, die Interaktion mit der Konfiguration sowie das Remoting beschrieben. Beachten Sie, dass einige Versionen von IIS möglicherweise nicht über einige der in diesem Dokument beschriebenen Funktionen/Features verfügen.
Warum musste es sich ändern? Hier sind einige der wichtigsten Gründe:
- IIS und ASP.NET zusammenarbeiten: IIS 6.0-Benutzer klicken mit der rechten Maustaste auf eine Website, wählen "Alle Eigenschaften" aus, und rufen Sie ein Dialogfeld mit einer Reihe von Registerkarten für verschiedene Einstellungen ab. Mit IIS 7.0 und höher musste IIS-Manager konfigurationen für neue Features wie Ausgabezwischenspeicherung, Fehleranforderungsablaufverfolgung und Anforderungsfilterung sowie Konfiguration für ASP.NET und relevante Teile von .NET Framework anzeigen. Die neue Funktionalität hätte wesentlich mehr neue Registerkarten benötigt, was eine inakzeptable Option darstellt.
-
Delegierte Administration: Das Verschieben unserer Konfiguration von der Metabasis in das .NET-Konfigurationssystem bedeutet, dass Benutzer, falls zulässig, die IIS-Konfiguration in web.config Dateien festlegen können. Beispielsweise kann die Konfiguration für eine Anwendung
http://www.contoso.com/salesin die Stammkonfigurationsdatei applicationHost.config, in die Websitehttp://www.contoso.com/-web.config-Datei oder direkt in die web.config-Datei der Anwendung geschrieben werden. Der neue IIS-Manager muss: 1) einem Administrator erlauben, die Konfiguration zu steuern, die in web.config-Dateien zulässig ist, 2) dem Administrator/Benutzer anzeigen, wo die Konfiguration geschrieben wird. Der bisherige IIS-Manager war diesen Herausforderungen nicht gewachsen. - Technische Gründe: Software hat eine Haltbarkeit. Die Zeit bringt neue Technologien, neue Anforderungen, neue Konventionen, und es kommt ein Punkt, an dem die Aktualisierung vorhandener Software arbeitsintensiver und kostspieliger wird, als die Software neu zu erstellen. Der IIS-Manager näherte sich dem Ende seiner Nutzungsdauer.
Was sonst noch zu wissen ist? Nachdem wir uns entschieden haben, IIS-Manager umzuschreiben, haben wir die Möglichkeit genommen, auf verschiedene Arten zu verbessern:
- Erweiterbarkeit: Das Erweitern der IIS 6.0-Version des IIS-Managers war unerschwinglich schwierig. Der neue IIS-Manager erleichtert das Hinzufügen von Featureseiten, Strukturansichtsknoten und Menüelementen; alle verwenden verwalteten Code und WinForms. Neue IIS-Manager-Erweiterungen werden automatisch erkannt und von Remote-IIS-Manager-Clients heruntergeladen, die eine Verbindung mit dem Server herstellen.
- Remoteverwaltung: Die Remoteverwaltung erfolgt vollständig über HTTPS, wodurch sie firewallfreundlich und leichter zu verwalten ist. Der Webdienst (Web Management Service, WMSVC) ist die optional installierbare Komponente, die die Remoteverwaltung ermöglicht.
- Neues Aussehen und Verhalten: Der IIS-Manager benötigt ein skalierbares Modell zum Verfügbarmachen von Einstellungen, und die resultierende Featurelistenansicht ähnelt der Systemsteuerung. Eine Listenansicht kann auf unterschiedliche Weise sortiert, gruppiert und angezeigt werden, sodass sie einfacher zu finden ist, wonach Sie suchen. Die IIS-Manager-Navigation hat auch ein browserähnliches Erscheinungsbild mit einer Adressleiste wie im Windows Explorer übernommen.
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 Funktionen/Features.
Neues Aussehen und Bedienung
Der Internetinformationsdienste-Manager (IIS) verfügt in früheren Versionen über eine Rückwärts-/Vorwärts-Navigation, und der neue IIS-Manager nimmt dies noch weiter, indem eine Adressleiste hinzugefügt wird, die wie Windows Explorer funktioniert.
Abbildung 1: Neuer IIS-Manager
Homepage
Die Startseite wird sehr vertraut sein, sobald Sie mit der Verwendung des IIS-Managers beginnen. Die Featureliste in der Mitte kann nach Featurename oder Beschreibung sortiert, nach Bereich oder Kategorie gruppiert und in verschiedenen Layouts angezeigt werden.
Abbildung 2: Gruppieren im IIS-Manager
Funktionsbereiche
Server-, Standort-, Anwendungs-, virtuelles Verzeichnis- und Ordnerknoten in der Strukturansicht zeigen alle eine Startseite mit einer Featureliste an. Die meisten Features werden auf Homepages 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 Features werden überall mit Ausnahme der Serverstartseite angezeigt, da sie anwendungskonfiguration sind und nicht auf Serverebene logisch sind oder weil sie einfach besser funktionieren (SSL):
- Mitgliedschaftsbenutzer
- Mitgliedschaftsrollen
- Profile
- SSL
Die funktionen, die der Delegierung zugeordnet sind, weisen spezielle Regeln für die Position auf, an der sie angezeigt werden:
- Featuredelegierung: Wird immer nur für den Stammknoten einer Verbindung angezeigt
- Administratoren: wird nur für Server-, Standort- 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 Websites 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. Featureeinstellungen, 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 "Featureeinstellungen bearbeiten" konfiguriert.
Abbildung 4: IIS-Manageraktionen
Eigenschaftenraster
Eigenschaftengitter-Seiten zeigen Gitter verwandter Eigenschaften an. Mit dem Display-Selektor oben im Eigenschaftenraster können Sie auswählen, ob benutzerfreundliche Eigenschaftsnamen, Konfigurationseigenschaftsnamen oder beides angezeigt werden sollen. Der folgende Screenshot zeigt beide Namen.
Abbildung 5: Eigenschaftenraster im IIS-Manager
Dialogfeld
Dialogseiten haben Kontrollkästchen, Textfelder und Optionsfelder und sind in der Regel 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 können in die Inhaltsansicht gelangen, indem Sie im Switcher "Featureansicht/Inhaltsansicht" unten im mittleren Bereich des IIS-Managers auf "Inhaltsansicht" klicken oder mit der rechten Maustaste auf einen Strukturansichtsknoten klicken und "Zur Inhaltsansicht wechseln" auswä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 Featureansicht wechseln" zu klicken.
Abbildung 6: Wechseln zur Ansicht "Features"
Featuredelegierung
Möglicherweise interessieren Sie sich für die Featuredelegierung, 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 Featuredelegierung bedeutet die Verwaltung von:
- 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 Website- und Anwendungsbenutzern, die IIS-Manager verwenden dürfen , um die Konfiguration anzuzeigen und die Konfiguration für Features mit nicht gesperrten Konfigurationsabschnitten festzulegen
Es folgt eine cursorige Erläuterung der Featuredelegierung im IIS-Manager. Eine ausführliche Schritt-für-Schritt-Anleitung finden Sie unter "Verwalten der Featuredelegierung".
Konfigurationssperre
Wenn ein Konfigurationsabschnitt standardmäßig "gesperrt" ist, kann er nur in applicationHost.configkonfiguriert 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 das Feature "Benutzerdefinierte Fehlerseiten" im IIS-Manager mit der Konfiguration im Abschnitt "system.webServer/httpErrors". Wenn der Serveradministrator IIS-Manager oder Appcmd zum Entsperren des Konfigurationsabschnitts "system.web/httpErrors" verwendet, wird der Abschnitt "httpErrors" in einem Location-Tag mit overrideMode="allow" in applicationHost.configangezeigt:
<location path="" overrideMode="Allow">
<system.webServer>
<httpErrors/>
</system.webServer>
</location>
OverrideMode="allow" 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-, Standort- und Anwendungsverbindungen", um zu sehen, wie sich die Konfigurationssperre auf Verbindungen auswirkt. Ausführliche Informationen zu Konfigurationssperren finden Sie unter Wie Sie Konfigurationssperren verwenden.
Website- und Anwendungsadministratoren
Darüber hinaus können Serveradministratoren nicht-Administratoren die Verwendung des IIS-Managers zum Herstellen einer Verbindung mit einer Website oder Anwendung ermöglichen. Nicht-Administratoren, die eine Verbindung mit Websites oder Anwendungen herstellen können, werden als "Websiteadministratoren" oder "Anwendungsadministratoren" bezeichnet, und sie können:
- Verwalten der entsperrten Konfiguration für ihre Website oder Anwendung (Einstellungen werden in web.config Dateien geschrieben)
- Anzeigen gesperrter Konfigurationseinstellungen , ohne sie ändern zu können
- Hinzufügen anderer Website- oder Anwendungsadministratoren für ihre Website oder Anwendung
Informationen zum Erstellen von Website- und Anwendungsadministratoren finden Sie in der Onlinedokumentation Erstellen von Website- und Anwendungsadministratoren für die Delegierung.
Server-, Standort- und Anwendungsverbindungen
Nur Computeradministratoren können iis-Manager verwenden, um eine Verbindung mit einem Webserver herzustellen.
Serververbindungen können sowohl in die Stammkonfigurationsdateien applicationHost.config und web.config als auch in alle verteilten web.config-Dateien schreiben. Wenn ein Konfigurationsabschnitt in applicationHost.config gesperrt ist, wird das entsprechende Feature in einer Serververbindung lesbar/schreibbar, da Konfigurationsänderungen in applicationHost.config in einem
Computeradministratoren und festgelegte Websiteadministratoren können eine Verbindung mit Websites herstellen. Websiteverbindungen können nur in web.config Dateien unter dem Stammordner der Website schreiben. Wenn ein Konfigurationsabschnitt in applicationHost.configgesperrt ist, wird das entsprechende Feature in Standortverbindungen schreibgeschützt angezeigt, da Standortverbindungen keine Konfiguration in applicationHost.config schreiben können (auch in einem Standorttag). Dies wirkt sich sowohl auf Computeradministratoren als auch auf Websiteadministratoren aus.
Abbildung 7: Konfigurationshierarchie im IIS-Manager
Computeradministratoren, festgelegte Anwendungsadministratoren und Websiteadministratoren für die übergeordnete Website 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 web.config-Datei der Website gesperrt ist, wird das entsprechende Feature in Anwendungsverbindungen schreibgeschützt angezeigt.
Informationen zum Herstellen einer Verbindung mit einem Server, Standort oder einer Anwendung finden Sie in der Onlinedokumentation zum Verwalten von Verbindungen in IIS 7.0.
Konfiguration
Selbst wenn Sie die Konfigurationssperre nie ändern und nie die Featuredelegierung verwenden, fragen Sie sich irgendwann, wie IIS-Manager entscheidet, wo die Konfiguration geschrieben werden soll. Es gibt zwei Regeln, die dieses Verhalten definieren:
- ApplicationHost.config vs. Stamm-Web.config: Wenn das Feature 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 das Feature unter dem IIS-Bereich im IIS-Manager aufgeführt ist, wird die Konfiguration auf Serverebene in applicationHost.configgeschrieben. Die einzige Ausnahme dieser Regel ist die Formularauthentifizierung, die sich im Iis-Bereich im Authentifizierungsfeature befindet.
- Gesperrte und nicht gesperrte Konfiguration: Alle ASP.NET Konfigurationsabschnitte und einige IIS-Konfigurationsabschnitte sind standardmäßig entsperrt. Der IIS-Manager schreibt bei freigeschalteten Abschnitten in die web.config-Datei des Standorts, wenn die Konfiguration für den Standort 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 Websites 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>, <Speicherortpfad="<path>">
Dies <config\_file\_object\_path> ist der Pfad zum Konfigurationsdateiobjekt, z. B.:
- "localhost": Konfiguration auf Serverebene; applicationHost.config für IIS-Features, Stamm-web.config für ASP.NET Features.
- "localhost/Default Web Site": die web.config Datei im physischen Ordner der Standardwebsite
- "localhost/Default Web Site/career/technical": die web.config Datei im physischen Ordner, die der URL "/karriere/technical" unter der Standardwebsite zugeordnet ist
Dies <config\_file\_name> ist der Name der Zielkonfigurationsdatei, z. B.:
- "applicationHost.config oder Stamm-Web.config": applicationHost.config für IIS-Features, Stamm-web.config für ASP.NET Features
- "web.config": eine web.config Datei im Webnamespace
Dies <location\_path> ist der Pfad zum zu konfigurierten Objekt (weitere Informationen zu Standortpfaden finden Sie unter Configuration Overview). Dieser Teil des Texts wird nur angezeigt, wenn der Konfigurationsabschnitt des Features auf einer höheren Ebene gesperrt ist.
Beispiel: Schreiben in die ApplicationHost.config vs. die Root-Web.config
Die Komprimierung ist ein IIS-Feature, das unter IIS angezeigt wird, wenn Sie die Featureliste 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 Featureliste 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 Datei 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 liest Folgendes: Konfiguration: "localhost" applicationHost.config oder Root-web.config
Beispiel: Schreiben in gesperrte versus 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 Root-web.config, <location path="Default Web Site">
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 Web Management Service (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 Web Management Service (WMSVC) ist ein eigenständiger Webserver (hostbarer Web core (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 vier Arten von Anforderungen empfangen werden, und jeder wird von einem eigenen Handler gewartet:
- Anmeldeanforderungen bei login.axd
- Anforderungen zum Herunterladen von Code richten sich an download.axd
- Verwaltungsdienstanforderungen an service.axd
- Ping-Anfragen an ping.axd
Anmeldeanforderungen
DER IIS-Manager sendet eine Anmeldeanforderung über das Kabel an WMSVC, um eine Verbindung intiieren zu können. Die Authentifizierung ist entweder NTLM oder einfach, je nachdem, was der Benutzer ausgewählt hat, als er aufgefordert wurde, Anmeldeinformationen im Verbindungsdialogfeld anzugeben.
Abbildung 9: Angeben von Anmeldeinformationen
Codedownloadanforderungen
Wenn die Anmeldung erfolgreich ist, gibt WMSVC eine Liste der UI-Module für die Verbindung zurück. Beispielsweise entspricht jede IIS-Manager-Seite wie "Benutzerdefinierte Fehlerseiten" einem Modul. Wenn es ein Modul gibt, über das IIS-Manager nicht verfügt, wird es aufgefordert, die Modulbinärdateien herunterzuladen (z. B. wenn ein Serveradministrator ein neues RSA Security-Produkt auf seinem Produktionsserver installiert hat, aber das Produkt nicht auf seinem Desktopcomputer installiert hat, den er zum Herstellen einer Verbindung mit dem Server verwendet).
Verwaltungsdienstanforderungen
Nachdem die Verbindung hergestellt wurde, interagiert der Endbenutzer mit IIS-Manager, wodurch Verwaltungsdienstanforderungen gesendet werden. Der Verwaltungsdienst fordert direkte Moduldienste in WMSVC an, um Konfigurationsdaten, Laufzeitdaten und Anbieter auf dem Server zu lesen und zu schreiben.
Pinganforderungen
Ping-Anforderungen werden vom WMSVC-Dienst an den von ihm gehosteten Webserver (HWC) gestellt. Pinganforderungen sind ein einfacher Mechanismus, um sicherzustellen, dass der hostbare Webkern weiterhin reaktionsfähig ist.
Service-Konfiguration
WMSVC verfügt über einen sehr kleinen Satz bearbeitbarer Konfigurationen, die in der Registrierung gespeichert sind. Jedes Mal, wenn der Dienst gestartet wird, werden die Webkonfigurationsdateien neu in %windir%\ServiceProfiles\LocalService\AppData\Local\Temp\WMSvc<GUID>\ generiert. Die Webkonfigurationsdateien können auch von Administratoren nicht bearbeitet werden.
Abbildung 10: Ändern der Konfiguration in der Registrierung
Sicherheit
IIS Manager und Web Management Service (WMSVC) Remoting hat eine Reihe von Überprüfungen durchlaufen, um sicherzustellen, dass die Funktionalität einfach und sicher ist. Dies sind einige der ergriffenen Sicherheitsmaßnahmen:
- ErfordertSSL (HTTPS) für alle Verbindungen zum Sichern von Daten, die zwischen dem Remote-IIS-Manager-Client und WMSVC übergeben werden
- Wird als lokaler Dienst mit einem reduzierten Berechtigungssatz ausgeführt
Gesperrte Hostable Web Core(HWC)-Konfiguration, einschließlich einer minimalen Gruppe von erforderlichen Modulen und sorgfältig gestalteten Anforderungsfilterregeln.