Freigeben über


Gemeinsame Konfiguration mit IIS 7

Einleitung

Das Internet ändert die Art und Weise, wie Unternehmen ihr tägliches Geschäft behandeln und wie sie auf dem Markt konkurrieren. Mit der Einführung neuer Webtechnologien und einer Zunahme der Anzahl an Kunden, die auf über das Web verfügbare Ressourcen zugreifen, besteht ein dringender Bedarf an verbesserter Skalierbarkeit, Verfügbarkeit, Zuverlässigkeit und Verwaltbarkeit von Anwendungen. Die Anwendungen sollten sich auf Systeme stützen, die die Fähigkeit bieten, eine hohe Verfügbarkeit, einen verbesserten Anforderungsdurchsatz, erhöhte gleichzeitige Benutzertransaktionen und eine bessere Rendite, wie zum Beispiel eine höhere Servicequalität, zu liefern als konkurrierende Systeme.

Webfarmen – Servercluster – sind ein Standard geworden, um hochskalierbare, verfügbare und verwaltbare Anwendungen durch Verteilung der Last bereitzustellen. Genauer gesagt sind diese Anwendungsattribute die Hauptgründe für Webfarmen und Lastenausgleich. Mithilfe einer Webfarm kann eine Organisation eine skalierbare Möglichkeit bereitstellen, um die Kapazität der Benutzerbasis zu erhöhen, die gleichzeitig auf die Anwendung und die zugehörigen Ressourcen zugreift.

Der Servercluster bietet eine verbesserte Verfügbarkeit, indem mehrere Server die Last verteilen. Der Cluster wird auch zu einem bestimmten Zeitpunkt besser auf eine erhöhte Anzahl von Kunden skaliert. Schließlich bietet der Cluster eine verbesserte Verwaltungserfahrung durch die Behandlung der Bereitstellung und Verwaltung der Webfarmarchitektur mit Leichtigkeit und ohne Anstrengung der betrieblichen Ressourcen.

Überblick

Dieser Artikel konzentriert sich auf das gemeinsam genutzte zentrale globale Konfigurationsfeature. Dieses Feature unterstützt homogene Webfarmen, bei denen Server die gleiche Konfiguration für eine Servergruppe verwenden. Durch die Verwendung einer UNC-Freigabe werden alle Änderungen an einer zentralen Masterkonfigurationsdatei ohne zusätzliche Tools oder programmgesteuerte Unterstützung auf verschiedenen Servern verteilt.

Im ersten Teil dieses Artikels wird beschrieben, wie Sie die Verwaltungsbenutzeroberfläche von IIS 7 und höher verwenden, um die freigegebene Konfiguration zu aktivieren und zu verwenden. Im zweiten Teil wird beschrieben, wie Sie die freigegebene Konfiguration über die Befehlszeile aktivieren und verwenden.

Nichtziele: Was dieser Artikel nicht abdeckt

Mehrere Aspekte tragen zu einer erfolgreichen Webfarmumgebung bei, einschließlich korrekter Unterstützung, Verwaltbarkeit, Barrierefreiheit, Skalierbarkeit usw.

Die gemeinsame Konfiguration konzentriert sich nur auf den Konfigurationsverwaltungsaspekt einer Webfarm und befasst sich mit der Konfiguration auf allen Servern. Es gibt Tools und andere Features, die beim Verwalten mehrerer Server, kopieren von Inhalten, Bereitstellen von Modulen, Synchronisieren von Anwendungsbinärdateien, Einrichten von Drittanbieterkomponenten usw. helfen können. Diese Tools, Features und Aspekte liegen außerhalb des Umfangs dieses Artikels.

In diesem Artikel wird erläutert, wie die Konfiguration mithilfe einer zentralen Datei serverübergreifend verwaltet wird.

Beachten Sie daher, dass eine gemeinsame Konfiguration es einem Server ermöglicht, auf eine Konfigurationsdatei in einem Backend-UNC-Freigabepfad zuzugreifen, als wäre sie seine lokale Konfiguration. Wenn Sie die Konfiguration mit einem Front-End-Webserver aktualisieren, werden die Aktualisierungen an allen anderen Servern vorgenommen.

Es ist wichtig, andere Situationen zu berücksichtigen, z. B. das Installieren eines Drittanbietermoduls oder das Hinzufügen von Konfigurationseinstellungen und die Einbeziehung von Eigenschaften, die nur ein Server verstehen kann und über die Binärdateien und das Schema verfügt, die für die ordnungsgemäße Funktion verfügbar sind. Andernfalls kann diese Art der Verwendung die anderen Server unterbrechen.

Um dieses Problem in homogenen Farmen zu vermeiden, sollten Sie die freigegebene Konfiguration auf dem Cluster deaktivieren, die lokale applicationHost-Datei aktualisieren, damit sie die Remotedatei spiegelt, Module bereitstellen und aktualisieren und die Konfiguration auf einem einzelnen Server bereitstellen und aktualisieren und dann die freigegebene Konfiguration auf diesem Server erneut aktivieren. Anschließend können Sie die Binärdateien und Module auf den restlichen Servern bereitstellen und aktualisieren, bevor Sie die freigegebene Konfiguration erneut aktivieren.

Domänen- und Nichtdomänenumgebungen

Einige Administratoren stellen Webservercluster in einer Domänenumgebung bereit, während andere in einer Arbeitsgruppe (keine Domäne) bereitstellen. In diesem Artikel werden beide Szenarien erläutert und die Unterschiede und Einschränkungen erläutert. Es wird empfohlen, IIS in einem Cluster in einer Domäne mit Hilfe und Sicherheit einzurichten, die Active Directory mithilfe eines Domänencontrollers bereitstellt.

Voraussetzungen

Sie müssen die folgenden Schritte in der Reihenfolge ausführen:

  1. Installieren Sie IIS auf Ihrem Server, der in diesem Artikel als Webserver bezeichnet wird.
  2. Stellen Sie den Zugriff auf einen zweiten Server sicher, der in diesem Artikel als Dateiserver bezeichnet wird. Der Dateiserver enthält die Freigabe für Konfiguration und grundlegende Inhalte, auf die mithilfe von UNC zugegriffen werden kann.
  3. Jeder Schritt dieses Artikels geht davon aus, dass der vorherige Schritt abgeschlossen wurde. Führen Sie alle Schritte in der reihenfolge aus.
  4. Bei einigen Schritten gibt es einen entsprechenden Schritt, der mithilfe der Benutzeroberfläche ausgeführt werden kann. Führen Sie nur einen Schritttyp aus, sofern nicht anders angegeben.

Zentrale Konfiguration

Die IIS-Verwaltungsoberfläche enthält Unterstützung für das Einrichten der Konfigurationsumleitung und das Exportieren von Konfigurationsdateien und die erforderlichen Verschlüsselungsschlüssel in einen angegebenen Pfad.

So exportieren Sie Dateien und richten die Konfigurationsumleitung mithilfe der Benutzeroberfläche ein

  1. Öffnen Sie den IIS-Manager.
  2. Wählen Sie in der Strukturansicht die Serververbindung aus, für die Sie die Konfigurationsumleitung einrichten möchten.
  3. Doppelklicken Sie auf Gemeinsame Konfiguration.
    Screenshot des I S-Managers mit ausgewähltem Symbol
  4. Klicken Sie im Bereich "Aktionen " auf " Konfiguration exportieren... ", um die erforderlichen Konfigurationsdateien vom lokalen Server an einen anderen Speicherort (z. B. eine UNC-Freigabe) zu exportieren.
    Screenshot des Bereichs
  5. Geben Sie im Dialogfeld " Konfiguration exportieren" den Pfad ein, in den Sie die Dateien exportieren möchten. Geben Sie ein Kennwort ein, um die ebenfalls exportierten Verschlüsselungsschlüssel zu schützen. Klicken Sie auf "OK ", um die Konfigurationsdateien und kennwortgeschützten Verschlüsselungsschlüssel zu exportieren.
    Screenshot des Dialogfelds
  6. Aktivieren Sie das Kontrollkästchen "Freigegebene Konfiguration aktivieren", um die Konfigurationsumleitung zu aktivieren.
    Screenshot des Dialogfelds
  7. Geben Sie den Pfad an, in dem sich die Konfigurations- und Verschlüsselungsschlüssel befinden, und geben Sie die Anmeldeinformationen an, die für den Zugriff auf diesen Pfad verwendet werden sollen. Klicken Sie auf "Verbinden unter..." , und geben Sie die Anmeldeinformationen ein.
    Screenshot des Dialogfelds
  8. Klicken Sie auf Anwenden, um die Einstellungen zu speichern. Geben Sie im Dialogfeld "Freigegebene Konfiguration " das Kennwort ein, das Sie angegeben haben, um die Verschlüsselungsschlüssel zu schützen.
    Screenshot des Dialogfelds
  9. Klicken Sie auf "OK ", um die Einrichtung der Konfigurationsumleitung abzuschließen.

In den vorstehenden Schritten wird beschrieben, wie Sie die Konfiguration exportieren und die zentrale Konfiguration aktivieren. Sie müssen die Konfiguration jedoch nur einmal exportieren. Führen Sie die Schritte 6 bis 9 auf jedem nachfolgenden Server aus, der die zentralisierte Konfiguration verwendet.

Hinweise zur Verwendung der Benutzeroberfläche

Beim Einrichten der Konfigurationsumleitung wird erwartet, dass die exportierten Dateien mithilfe der Benutzeroberfläche exportiert wurden. Dies liegt daran, dass die Benutzeroberfläche Elemente wie die kennwortgeschützten Verschlüsselungsschlüssel mithilfe eines eigenen benutzerdefinierten Formats exportiert und importiert.

Wenn Sie beispielsweise die administration.config und applicationHost.config Dateien manuell in eine Freigabe kopiert und dann manuell die Verschlüsselungsschlüssel exportiert haben, können Sie die Benutzeroberfläche nicht zum Einrichten der Konfigurationsumleitung verwenden, um auf diese Dateien zu verweisen. Dies liegt daran, dass die exportierten Verschlüsselungsschlüssel nicht im Format vorliegen, das von der Benutzeroberfläche benötigt wird.

Eingabeaufforderung

Während des restlichen Artikels müssen Sie eine Eingabeaufforderung verwenden, um bestimmte Befehle auszuführen. Es wird empfohlen, eine Eingabeaufforderung mit erhöhten Benutzerrechten zu verwenden, da bestimmte Befehle nicht funktionieren, wenn Sie eine normale Eingabeaufforderung ausführen.

So öffnen Sie eine Eingabeaufforderung mit erhöhten Benutzerrechten

  1. Klicken Sie auf Start.
  2. Klicken Sie auf "Alle Programme".
  3. Klicken Sie auf Zubehör.
  4. Klicken Sie mit der rechten Maustaste auf Eingabeaufforderung, und wählen Sie Als Administrator ausführen aus.
  5. Folgen Sie den Eingabeaufforderungen in allen angezeigten Dialogfeldern.

Sichern der aktuellen applicationHost.config Datei

Wenn Sie neue Features ausprobieren oder mehrere Konfigurationseinstellungen ändern, empfiehlt es sich, die aktuelle applicationHost.config Datei zu sichern.

So sichern Sie die applicationHost.config Datei

  1. Öffnen Sie eine Eingabeaufforderung.

  2. Navigieren Sie zum IIS-Verzeichnis, das sich standardmäßig in %WINDIR%\System32\InetSrv befindet. Die Konfigurationsdateien werden im Verzeichnis "InetSrv\Config" gespeichert. Verwenden Sie das AppCmd-Tool, um ein Sicherungsobjekt zu erstellen und die applicationHost.config Datei zu sichern, indem Sie den folgenden Befehl ausführen:

    cd /d %windir%\system32\inetsrv
    appcmd add backup centralConfigBackup
    

    Hinweis

    Das AppCmd-Tool befindet sich im InetSrv-Verzeichnis. Sie müssen auf das Tool aus diesem Verzeichnis zugreifen, es sei denn, der Pfad des Tools wird den Umgebungsvariablen des Systems hinzugefügt.

  3. Stellen Sie sicher, dass das Sicherungsobjekt, das die applicationHost.config-Datei und die Legacymetabasisdatei für SMTP und andere Nicht-Webservereinstellungen enthält, vorhanden ist, indem Sie den folgenden Befehl ausführen:

    appcmd list backup
    

So ersetzen Sie die aktuelle Konfigurationsdatei durch die Sicherungsdatei

  1. Öffnen Sie eine Eingabeaufforderung.

  2. Navigieren Sie standardmäßig zum IIS-Verzeichnis, das sich im InetSrv-Verzeichnis befindet. Stellen Sie das AppCmd-Sicherungsdateiobjekt wieder her, indem Sie den folgenden Befehl ausführen:

    cd /d %windir%\system32\inetsrv\
    appcmd restore backup centralConfigBackup
    

Erstellen eines Benutzers für den Zugriff auf die UNC-Freigabe für die Konfiguration

In einer Domänenumgebung muss ein Administrator ein Konto in der Domäne bereitstellen oder erstellen, das mit Active Directory verwendet werden kann. Dieses Konto muss so eingerichtet werden, dass es mit den erforderlichen Benutzerrechten auf die UNC-Freigabe zugreifen kann.

In einer Nicht-Domänenumgebung muss ein Administrator auf beiden Servern einen lokalen Benutzer mit Benutzerrechten für den Zugriff auf Inhalte erstellen. Der Benutzername und das Kennwort müssen auf allen Servern identisch sein, um in diesem Setup zu arbeiten. Die folgenden Schritte helfen bei der Erstellung eines Benutzers, der Zugriff auf die Freigabe erhält, in der die Konfiguration gespeichert ist.

So erstellen Sie einen Benutzer, der die Freigabe lesen kann, in der sich die freigegebene Konfiguration befindet (nicht domäne).

  1. Öffnen Sie eine Eingabeaufforderung.

  2. Erstellen Sie auf dem Webserver (Front-End-Server, auf dem IIS installiert ist) einen Benutzer namens ConfigUser1 mit dem Kennwort ConfigPass1, indem Sie den folgenden Befehl ausführen:

    net user ConfigUser1 ConfigPass1 /add
    
  3. Erstellen Sie auf dem Dateiserver (Back-End-Server, auf dem sich die zentrale Konfiguration befindet) einen Benutzer namens "ConfigUser1" mit dem Kennwort "ConfigPass1", indem Sie den folgenden Befehl ausführen:

net user ConfigUser1 ConfigPass1 /add

Erstellen der UNC-Freigaben für die zentrale Konfiguration und Inhalte

Die UNC-Freigabe für die Konfigurationshost hostet die applicationHost.config-Datei für alle Server, die Konfigurationsdaten von dieser zentralen Stelle abrufen möchten.

So erstellen Sie die UNC-Freigabe

  1. Öffnen Sie auf dem Dateiserver eine Eingabeaufforderung.

  2. Navigieren Sie zum Stammverzeichnis des Laufwerks. Führen Sie den folgenden Befehl aus, um ein Verzeichnis für die Konfiguration zu erstellen und dieses Verzeichnis zu teilen. Stellen Sie sicher, dass Sie Benutzern die Benutzerrechte zum Lesen und Schreiben in das Verzeichnis gewähren:

    md %SystemDrive%\centralconfig
    net share centralconfig$=%SystemDrive%\centralconfig /grant:Users,Change
    

    Hinweis

    Dieser Befehl gewährt der Benutzergruppe automatisch Benutzerrechte für diese Freigabe. Der für das Szenario ohne Domäne erstellte Benutzer erhält automatisch Änderungsrechte, die bei Bedarf weiter eingeschränkt werden können. Für das Domänenszenario muss der Benutzer entweder über Benutzerrechte verfügen, die explizit für den Zugriff auf die Freigabe festgelegt wurden, oder der Benutzergruppe im System hinzugefügt werden.

  3. Nicht-Domänenszenario: Um die Sicherheit der Freigabe zu erhöhen, können Sie den Teil "Users", "Change" der Option "/grant" durch "ConfigUser1", "Change parameters" ersetzen. Nur der angegebene Benutzer hat Zugriff auf die Freigabe.

  4. Domänenszenario: Um die Sicherheit der Freigabe zu erhöhen, können Sie den Teil "Benutzer", "Teil ändern" des /grant-Schalters durch die Domäne\Benutzer,Parameter ändern. Nur der angegebene Benutzer hat Remotezugriff auf die Freigabe.

    Hinweis

    Die Benutzerrechte an einer Freigabe sind eine Kombination aus Remote- und lokalen Dateisystembenutzerrechten. Sie müssen die entsprechenden Benutzerrechte für ein Domänenkonto im Verzeichnis festlegen, damit die Konfigurationsteilung erfolgreich gelesen werden kann.

Gewähren von Benutzerrechten für die Konten der UNC-Freigaben, die zentrale Konfigurationen und Inhalte hosten

Sie müssen sicherstellen, dass das Konto, das für den Zugriff auf die Konfiguration verwendet wird, über die entsprechenden Benutzerrechte verfügt. Dieses Konto wird von IIS verwendet, um auf die UNC-Freigabe in derselben Weise zuzugreifen, wie IIS auf Inhalte zugreift, wenn ein virtuelles Verzeichnis einer UNC-Freigabe zugeordnet ist. Die Leseberechtigungen für dieses Konto sind nützlich, wenn man nur auf die Freigabe zugreift. Nachdem IIS die Konfigurationsdatei gelesen hat, wird sie wieder auf die Identität zurückgesetzt, die der Aufrufer hat: entweder die API, das verwendete Verwaltungstool oder den Benutzer, der zu diesem Zeitpunkt angemeldet ist.

Hinweis

Das ConfigUser1-Konto oder das entsprechende Domänenkonto, das zum Lesen der Konfiguration verwendet wird, entspricht nicht dem Konto, das zum Schreiben der Konfiguration verwendet wird. Diese Konten müssen nicht über Schreibberechtigungen für die Freigabe- oder Konfigurationsdatei verfügen.

So gewähren Sie Benutzerrechte für die Konten der UNC-Freigabe (Domäne)

  1. Wenn das Domänenkonto Teil der lokalen Benutzergruppe ist und den Benutzern Zugriff gewährt wurde, können Sie die nächsten Schritte für die Einrichtung der Domäne überspringen. Wenn das Domänenkonto für den Zugriff auf die lokale Dateifreigabe jedoch nicht Teil lokaler Benutzergruppen ist, müssen Sie den Befehl ausführen, um Benutzerrechte zu gewähren.
  2. Öffnen Sie auf dem Dateiserver eine Eingabeaufforderung.
  3. Geben Sie dem Domänenkonto Benutzerrechte an, um das Verzeichnis zu lesen, in dem die Konfiguration gespeichert wird, indem Sie den folgenden Befehl ausführen:
icacls %SystemDrive%\centralconfig\ /grant domain\user:R

So fügen Sie den UNC-Benutzer (Nichtdomäne und Domäne) hinzu

Für Domänen- und Nichtdomänenszenarien muss der Benutzername die Anmelde-Batch-Job-Konfiguration enthalten. Dies ist keine Standardeinstellung in Windows Server® 2008; Sie müssen es manuell zum Webserver hinzufügen.

  1. Klicken Sie auf Start. Klicken Sie auf "Verwaltungstools ", und wählen Sie "Lokale Sicherheitsrichtlinie" aus.
  2. Wählen Sie unter "Lokale Richtlinien" die Option "Benutzerrechtezuweisungen" aus.
  3. Doppelklicken Sie auf "Anmelden" als Batchauftrag , und fügen Sie den unc-Benutzer hinzu, den Sie erstellt haben.

Umleiten der Konfiguration

Einleitung

Nachdem Sie die vorherigen Schritte abgeschlossen haben, ist der Webserver funktionsfähig, und der Front-End-Webserver sollte seine Standardwebsite mithilfe der Localhost-Loopbackadresse bereitstellen.

Sie können die Konfiguration jetzt an einen zentralen Ort verschieben. Auf diese Weise können Sie eine Datei als Masterdatei deklarieren und in einer UNC-Freigabe für die Konfiguration mehrerer Server speichern. Wenn Sie diese Datei einmal ändern, werden alle Serverkonfigurationen gleichzeitig bereitgestellt und aktualisiert.

So speichern Sie die Konfiguration in einer UNC-Freigabe

  1. Kopieren Sie die dateienapplicationHost.config und administration.config aus dem %windir%\system32\inetsrv\config Verzeichnis auf dem Front-End-Webserver, um sie auf dem Back-End-Dateiserver freizugeben. Wenn das aktuell angemeldete Benutzerkonto Schreibzugriff auf die Back-End-Freigabe hat, können Sie die Datei im Verzeichnis ablegen. Wenn dies nicht der Fall ist, müssen Sie das Benutzerkonto beim Back-End authentifizieren, um diesen Schritt abzuschließen.

  2. Zugreifen auf die vorhandene redirection.config XML-Datei im Konfigurationsverzeichnis des Front-End-Servers:

    • Verwenden Sie den Datei-Explorer, um zu %windir%\system32\inetsrv\config zu navigieren.
    • Öffnen Sie die datei redirection.config. Diese Datei und deren Inhalt werden beim Einrichten des Webservers erstellt. Tools und APIs können auf diese Datei zugreifen, um festzustellen, ob dieses Feature aktiviert ist.
  3. Öffnen Sie die datei redirection.config. Legen Sie die folgende Konfiguration mit dem richtigen Servernamen, Benutzernamen und Kennwort für Ihre Umgebung fest.

    <configuration> 
        <configSections> 
            <section name="configurationRedirection" /> 
        </configSections> 
        <!--password is ConfigPass1 or domainPassword-->
        <configurationRedirection enabled="true" path="\\machinename\centralconfig$\" userName="ConfigUser1 or domain\user" password="" /> 
    </configuration>
    
  4. Speichern Sie Ihre redirection.config Datei. Sie können erneut auf die Websites zugreifen, aber die Konfiguration wird jetzt in einer UNC-Freigabe gespeichert.

Testen der Konfiguration

Bei der Konfiguration, auf die vom Back-End verwiesen wird, gibt es zwei wichtige Szenarien, für die dieses Feature entworfen wurde. Sie können die Konfiguration auf den Front-End-Webservern auf zwei Arten aktualisieren:

  1. Sie können die Datei applicationHost.config direkt in der Dateifreigabe bearbeiten. Sobald dies geschehen ist, werden Änderungsbenachrichtigungen durchgeführt, und die Webserver übernehmen die Änderungen in der Datei.
  2. Sie können eine zweite applicationHost.config Datei in der Back-End-Dateifreigabe hinzufügen und die redirection.config Datei des Webservers so ändern, dass sie auf die neue Version der Datei verweist. Dies ist für Rollbackzwecke oder mehrstufige Bereitstellungen nützlich.

Zusammenfassung

In diesem Artikel wurde das neue feature für die zentrale Konfiguration eingeführt. Mit diesem Feature können Administratoren, die homogene Cluster in einer Webfarmumgebung einrichten und auf nahtlose Weise für alle Server bereitstellen.

Sobald das Feature eingerichtet wurde, ob eine Änderung in der Datei an der UNC-Freigabe vorgenommen wird oder ein Server an einen anderen Speicherort umgeleitet wird, werden die Änderungen sofort vom Webserver aufgenommen. Nur die globalen Änderungen, die sich auf mehrere Websites und Anwendungen auswirken, führen dazu, dass sie wiederverwendet werden, aber wenn Änderungen in einem lokalisierten Bereich vorgenommen werden, werden die restlichen Websites und Anwendungen nicht neu gestartet.

Anhang 1: Programmgesteuerter Zugriff auf Redirection.config Datei zum Lesen der Werte

Dieser Schritt bietet ein Beispiel für den programmgesteuerten Zugriff auf die redirection.config Datei, indem sie die neue COM AHADMIN-API nutzen. Verwenden Sie die AHADMIN COM-API, um diese API aus systemeigenem Code oder aus Skript- und verwaltetem Code zu implementieren.

So lesen Sie die Werte programmgesteuert

  1. Erstellen Sie eine Textdatei, und speichern Sie sie mit der Erweiterung .js. Das folgende Skript enthält ein Beispiel zum Lesen des aktivierten Attributs, des Servernamens, des Benutzernamens und des Kennworts für Ihre Umgebung:

    try
    {
      var config = WScript.CreateObject( "Microsoft.ApplicationHost.AdminManager" );
      var section = config.GetAdminSection( "configurationRedirection", "MACHINE/REDIRECTION" );
    
      WScript.Echo( "Current redirection:" );
      WScript.Echo( "enabled = " + section.Properties.Item( "enabled" ).Value );
      WScript.Echo( "path = " + section.Properties.Item( "path" ).Value );
      WScript.Echo( "user = " + section.Properties.Item( "userName" ).Value );
      WScript.Echo( "pass = " + section.Properties.Item( "password" ).Value );
    }
    catch(e)
    {
      WScript.Echo(e.number);
      WScript.Echo(e.description);
    }
    
  2. Speichern Sie Ihre redirection.js Datei. Sie können diese Datei jetzt über eine Eingabeaufforderung aufgrund des Windows Script Host (WSH) ausführen.

Anhang 2: Programmgesteuerter Zugriff auf die redirection.config Datei zum Schreiben der Werte

Dieser Schritt bietet ein Beispiel für den programmgesteuerten Zugriff auf die redirection.config Datei, indem sie die neue COM AHADMIN-API nutzen. Verwenden Sie diese API aus systemeigenem Code oder aus Skript- und verwaltetem Code aus dem COM-Objekt.

So schreiben Sie die Werte programmgesteuert

  1. Erstellen Sie eine Textdatei, und speichern Sie sie mit der Erweiterung .js. Das folgende Skript enthält ein Beispiel zum Schreiben des aktivierten Attributs, des Servernamens, des Benutzernamens und des Kennworts für Ihre Umgebung:

    try
    {
        var config = WScript.CreateObject( "Microsoft.ApplicationHost.WritableAdminManager" );
      config.CommitPath = "MACHINE/REDIRECTION";
        var section = config.GetAdminSection( "configurationRedirection","MACHINE/REDIRECTION" );
      section.Properties.Item( "enabled" ).Value = true;
      section.Properties.Item( "path" ).Value = "\\\\somemachine\\sharefile://folder/";
      section.Properties.Item( "userName" ).Value = "testuser";
      section.Properties.Item( "password" ).Value = "testuser";
      config.CommitChanges();
    }
    catch(e)
    {
      WScript.Echo(e.number);
      WScript.Echo(e.description);
    }
    
  2. Speichern Sie Ihre redirection.js Datei.

  3. Sie können diese Datei jetzt über eine Eingabeaufforderung aufgrund des Windows Script Host (WSH) ausführen.

Anhang 3: Umgang mit computerspezifischen verschlüsselten Eigenschaften

Standardmäßig enthält IIS zwei Hauptanbieter zum Sichern von Eigenschaften. Diese Anbieter befinden sich im Konfigurationsabschnitt der applicationHost.config Datei <configProtectedData> und werden im <Anbieterelement> definiert.

Der AesProvider ist spezifisch für den Umgang mit Verschlüsselung und Entschlüsselung für Eigenschaften, die sich im Abschnitt "system.webServer" befinden.

Der IISWASOnlyRsaProvider ist spezifisch für die Verschlüsselung und Entschlüsselung von Eigenschaften, die sich im Abschnitt "system.applicationHost" befinden.

Diese Schlüssel befinden sich in den iisConfigurationKey- und iisWasKey-Schlüsselcontainern und sind computerspezifisch. Wenn eine Verschlüsselung erforderlich ist, wird in einem Webfarmszenario ein Schlüssel von einem Computer ( in der Regel der Schlüssel, der die applicationHost.config Datei erstellt hat ) exportiert und in die anderen Computer übertragen, sodass sichere Eigenschaften vom Webserver entschlüsselt und verwendet werden können.

Schritte

  1. Öffnen Sie eine Eingabeaufforderung. Navigieren Sie zum Framework-Verzeichnis, das sich standardmäßig im Verzeichnis %windir%\Microsoft.NET\Framework\v2.0.50727\ befindet.

    Hinweis

    Zur Referenz befinden sich die Computerschlüssel für das System in %ALLUSERSPROFILE%\Microsoft\Crypto\RSA\MachineKeys\

  2. Verwenden Sie das tool aspnet_regiis, um den Schlüssel zu exportieren. Der Befehl zum Übertragen des Konfigurationsschlüssels wird unten angegeben. Der px-Schalter gibt an, dass Sie ein RSA-Schlüsselpaar exportieren möchten. Der Pri-Switch gibt an, dass Sie auch den privaten und den öffentlichen Schlüssel einschließen möchten.

    Diese Switchidentifizierung ist erforderlich, um sowohl Verschlüsselung als auch Entschlüsselung durchzuführen; Andernfalls können Sie Daten nur mit dem exportierten Schlüssel verschlüsseln. Der Parameter nach dem -px ist der Name des zu exportierenden Schlüsselcontainers. In diesem Fall handelt es sich um den Schlüsselcontainer "iisConfigurationKey". Der andere von IIS verwendete Schlüsselcontainer ist der Schlüsselcontainer "iisWasKey".

    aspnet_regiis -px "iisConfigurationKey" "D:\iisConfigurationKey.xml" -pri
    
  3. Nachdem der Export erfolgreich abgeschlossen ist, kopieren Sie die XML-Datei auf den anderen Computer im Cluster, um sie dort zu importieren.

  4. Navigieren Sie zum Framework-Verzeichnis, und verwenden Sie das aspnet_regiis Tool, um den Schlüssel aus der XML-Datei zu importieren. Der Befehl zum Abschließen der Übertragung für den Schlüssel wird unten angegeben.

    Der Parameter nach dem -pi ist der Name des zu importierenden Schlüsselcontainers. In diesem Fall handelt es sich um den Schlüsselcontainer "iisConfigurationKey". Der andere von IIS verwendete Schlüsselcontainer ist der Schlüsselcontainer "iisWasKey".

    aspnet_regiis -pi "iisConfigurationKey" "D:\iisConfigurationKey.xml"