Warum IIS? – Folge 12 :“Webserver konfigurieren ohne Admin-Rechte – web.config Datei macht‘s möglich.“

Der Titel dieses Eintrags mag für Windows Nutzer eher ungewöhnlich vorkommen, daher:

Was bedeutet das?

Ich kann das Verhalten des Webservers bezüglich meiner Website (oder Unterverzeichnis) anpassen indem ich die web.config-Datei in meinem Webseiten-Ordner anpasse. Dazu muss ich kein Administrator sein - schreibzugriff auf die Datei genügt. Ein weiterer Vorteil: Web-Inhalt + dazugehörige Konfiguration sind beieinander können einfach per xcopy oder FTP vom Entwickler-Rechner zum Server übertragen werden.

Wozu braucht man so etwas?

Z.B. im Webhosting Szenario: Kunde mietet sich Webspace und teilt sich mit anderen einen Web-Server. Soll an der Webserver Konfiguration bzgl. einer Kunden-Website was gemacht werden dann soll der Kunde das selbst erledigen können – das spart auch dem Admin Zeit.

Das ist toll für den Entwickler, aber ein Graus für den Server-Administrator? – Mitnichten!

Wie sorge ich dann als Server Administrator für einen stabilen Betrieb des Webservers?

In dem der Server-Administrator nur erlaubt was „ungefährlich“ für den Betrieb des IIS ist. Das neue IIS 7 Konfigurations-System mit Feature Delegation erlaubt dem Admin festzulegen was in die web.config darf, sensible Änderungen werden nicht akzeptiert.

So kann der:

Website-Besitzer:

Das Verhalten des IIS bzgl. seiner Website anpassen, indem er seine Einstellungen in einer XML-Datei („web.config“) in die Sektion <system.webServer> einträgt. Die web.config liegt im Order der Website (oder dem jeweiligen Unterpfad) wo die Einstellungen gelten sollen.

Server-Administrator:

Genau festlegen was am Webserver durch Einträge in der web.config angepasst werden darf.

Änderungen in der web.config werden vom Webserver automatisch (ohne durchstarten der website) übernommen – kein durchstarten der Seite ist notwendig. Wird nichts zusätzlich in die web.config eingetragen werden Einstellungen geerbt.

Links:

https://learn.iis.net/page.aspx/376/delegating-configuration-to-webconfig-files/

https://learn.iis.net/page.aspx/156/understanding-iis-70-configuration-delegation/