Aktivieren der Fehleranforderungsablaufverfolgung für DAS UNC-Hosting (2024)

  • Artikel

von Saad Ladki

Konfigurieren der Fehlgeschlagenen Anforderungsablaufverfolgung und Protokollierung für ein Hostingszenario

Das Platzieren von Anwendungsinhalten und Code auf einer UNC-Freigabe für Hostingszenarien ist zunehmend wichtig auf Webanwendungsservern. In Hostingszenarien ist es wichtig, die Protokolle neben den Webanwendungsinhalten und -code beizubehalten. Protokolle umfassen die Protokolldateien für die Fehleranforderungsverfolgung sowie die Trefferprotokolle, die IIS für die Website protokolliert. In diesem Dokument werden Sie durch die Erstellung der entsprechenden Verzeichnisse geführt, die richtigen Berechtigungen für sie festgelegt und anschließend IIS für die Verwendung der Verzeichnisse für die verschiedenen Protokolldateien konfiguriert.

Die grundlegenden Benennungskonventionen für die Protokolldateiverzeichnisse, Benutzerkonten und Berechtigungseinstellungen entsprechen dem Dokument "Shared Hosting Walkthrough" auch auf dieser Website. In dieser exemplarischen Vorgehensweise wird auch unterschieden, wie die verschiedenen Aktionen ausgeführt werden:

  • Benutzeroberfläche: Verwenden des IIS-Managers oder -Explorers zum Ausführen der Aktion
  • CMD: Verwenden der Befehlszeile (PowerShell, AppCmd usw.) zum Ausführen der Aktion
  • XML: Manuelles Bearbeiten der Konfiguration zum Ausführen der Aktion.

Konfigurieren der Ablaufverfolgung fehlgeschlagener Anforderungen für ein Hostingszenario

Fehleranforderungsablaufverfolgung ist ein leistungsstarkes Diagnosefeature, das Entwicklern und Administratoren hilft Entwicklern und Administratoren zu bestimmen, wo Probleme in ihren Anwendungen auftreten und warum sie auftreten. Fehler beim Anfordern der Ablaufverfolgung nach der Installation ist von Entwicklern, die nicht Administratoren auf dem Computer sind, sehr schwer zu verwenden. Dieser Abschnitt hilft beim Einrichten der Fehlgeschlagenen Anforderungsablaufverfolgung, um von Entwicklern zugänglich zu sein:

  • Entsperren der Abschnitte, die erforderlich sind, damit Entwickler ihre eigenen fehlgeschlagenen Anforderungsablaufverfolgungsregeln für ihre Anwendungen definieren können
  • Einrichten der Fehlgeschlagenen Anforderungsablaufverfolgung zum Protokollieren bei einer UNC-Freigabe für den Anwendungsbesitzer

Delegieren von <traceFailedRequests an Nichtadministratoren>

Denken Sie daran, dass zwei verschiedene Konfigurationsabschnitte für die Fehleranforderungsablaufverfolgung vorhanden sind:

  • <traceFailedRequestsLogging> : Dieser Abschnitt ist immer auf IIS-Administratoren beschränkt. In diesem Abschnitt können Administratoren das Feature für die Fehleranforderungsablaufverfolgung für eine Website aktivieren oder deaktivieren, die maximale Anzahl von Protokolldateien, die Größe der Protokolldateien und das Verzeichnis konfigurieren, in dem die Protokolldateien leben sollen. Aus diesen Gründen müssen Administratoren (d. h. steuern, dass der Datenträger mit Protokolldateien gefüllt werden kann) die Kontrolle über diesen Abschnitt behalten.
  • <traceFailedRequests>: In diesem Abschnitt erstellen Sie Ihre Fehlerdefinitionen – welche URLs zum Erfassen von Ablaufverfolgungen und unter welchen Bedingungen diese Ablaufverfolgungen auf dem Datenträger als XML speichern sollen. Dies ist der Abschnitt, den wir entsperren können.

Nach der Installation des Moduls für fehlgeschlagene Anforderungsablaufverfolgung (siehe Problembehandlung fehlgeschlagene Anforderungen mithilfe der Ablaufverfolgung auf IIS.net für Informationen zur Installation und grundlegende Verwendung der Fehleranforderungsablaufverfolgung) ist der <traceFailedRequests> Abschnitt bereits für Lese-/Schreibberechtigungen festgelegt. Dadurch können Anwendungsbesitzer ihre eigenen Regeln für die Fehleranforderungsablaufverfolgung definieren, ohne dass der Administrator diese Regeln für sie definiert.

UI: Überprüfen der <TraceFailedRequests-Delegierung> vom IIS-Manager

Gehen Sie wie folgt vor, um zu überprüfen, ob <traceFailedRequests> für die Delegierung auf der IIS-Manager-Benutzeroberfläche eingerichtet wurde:

  1. Klicken Sie auf "Start", und geben Sie in inetmgr ein. Geben Sie Administratoranmeldeinformationen ein, wenn Sie noch nicht Administrator sind.
  2. Klicken Sie auf den Computernamen und dann auf die Featuredelegierung.
  3. Stellen Sie sicher, dass Fehleranforderungsverfolgungsregeln auf Lese-/Schreibzugriff festgelegt sind.

Aktivieren der Fehleranforderungsablaufverfolgung für DAS UNC-Hosting (1)

Dadurch können Entwickler, die keinen Zugriff auf ApplicationHost.config haben, eigene Fehlerdefinitionen in ihrer Anwendung web.config Dateien erstellen. Nur wenn der Administrator die Fehleranforderungsablaufverfolgung aktiviert, werden die Regeln wirksam.

XML: Überprüfen der <TraceFailedRequests-Delegierung> in ApplicationHost.config

Gehen Sie wie folgt vor, um zu überprüfen, ob <traceFailedRequests> für die Delegierung über ApplicationHost.config eingerichtet wurde:

  1. Starten Sie eine Eingabeaufforderung mit erhöhten Rechten.
  2. Ändern Sie Verzeichnisse in %windir%\system32\inetsrv\config, und führen Sie sie aus notepad applicationHost.config.
  3. Suchen Sie in applicationHost.config nach dem Zeichenfolgenabschnittsnamen<="traceFailedRequests" – dieser Abschnitt wird delegiert, wenn er außer Kraft gesetzt wird.
<configSections>...other config sectionGroups... <sectionGroup name="system.webServer"> ...other sections... <sectionGroup name="tracing"> <section name="traceFailedRequests" overrideModeDefault="Allow" /> ... </sectionGroup> ... </sectionGroup></configSections>

Damit IIS seine Fehlgeschlagenen Anforderungsprotokolldateien in eine UNC-Freigabe schreiben kann, muss die Arbeitsprozessidentität vollzugriff auf die Netzwerkfreigabe und den Dateisystempfad auf dem UNC-Server erteilt werden. Dies liegt daran, dass sie Verzeichnisinhalte auflisten, neue Protokolldateien und Verzeichnisse erstellen und alte Protokolldateien löschen müssen.

Wenn Sie eines der integrierten Konten (z. B. IUSR oder Netzwerkdienst) als Anwendungspool-ID verwenden, werden diese Konten auf dem UNC-Server als ANONYM angezeigt. Es wird dringendempfohlen , entweder:

  1. DOMÄNENNUTZUNG : Erstellen Sie ein Domänenbenutzerkonto für den Anwendungspool, und verwenden Sie dann diese Anwendungspool-ID, um das Freigabe- und Dateisystemverzeichnis zu senken, in dem die Fehleranforderungsprotokolldateien leben. Sowohl der Webserver als auch der UNC-Server müssen Mitglieder der Domäne sein.
  2. NICHT-DOMÄNENNUTZUNG : Wenn die UNC- und Webserver nicht mit der Domäne verbunden sind, muss dasselbe Konto mit demselben Kontokennwort auf jedem Computer erstellt werden. Dies ist das Beispiel, das in dieser exemplarischen Vorgehensweise verwendet wird.

UI: Erstellen des neuen lokalen Kontos auf dem UNC-Server und Front-End-Webserver

Diese Wegbeschreibungen sollten sowohl auf dem UNC-Server als auch auf dem Webserver wiederholt werden. Erstellen Sie einen Benutzer namens "PoolId1", dessen Kennwort "!p4ssw0rd" lautet.

  1. Führen Sie an einer Eingabeaufforderung mit erhöhten Rechten start lusrmgr.msc aus.

  2. Klicken Sie mit der rechten Maustaste auf den Ordner "Benutzer ", und wählen Sie "Neuer Benutzer" aus.

  3. Füllen Sie die Dialogfeldeinträge "Neuer Benutzer " wie folgt aus:

    • Benutzername : PoolId1

    • Kennwort (& Kennwort bestätigen) : !p4ssw0rd

    • Deaktivieren Sie "Benutzer muss Kennwort bei der nächsten Anmeldung ändern"

    • Überprüfen "Kennwort kann vom Benutzer nicht geändert werden"

    • Klicken Sie auf "Erstellen", und schließen Sie dann.

      Aktivieren der Fehleranforderungsablaufverfolgung für DAS UNC-Hosting (2)

Stellen Sie sicher, dass Sie den PoolId1-Benutzer sowohl auf dem FRONT-End-IIS-Webserver & als auch auf dem UNC-Server des Back-End-Servers erstellen. Sie müssen auch die PoolId1 zur gruppe IIS_IUSRS auf dem Front-End-Webserver hinzufügen. Gehen Sie folgendermaßen vor:

  1. Klicken Sie auf den Ordner "Gruppen" im Lusrmgr MMC-Snapin.
  2. Klicken Sie mit der rechten Maustaste auf IIS_IUSRS, und wählen Sie " Zu Gruppe hinzufügen" aus.
  3. Klicken Sie auf "Hinzufügen", und fügen <Sie dann "Servername>\PoolId1" als hinzuzufügende Identität ein.

CMD: Erstellen des neuen lokalen Kontos auf dem UNC-Server und Front-End-Webserver

Gehen Sie wie folgt vor, um die neue PoolId1-Identität aus der Befehlszeile hinzuzufügen:

  1. Führen Sie eine Administratoreingabeaufforderung mit erhöhten Rechten aus.

  2. Führen Sie im Eingabeaufforderungsfenster die folgenden Befehle aus:

    net user PoolId1 !p4ssw0rd /ADD /passwordchg:nonet localgroup IIS_IUSRS PoolId1 /ADD

Hinweis

Der Befehl "net localgroup" ist nur auf dem Front-End-Webserver erforderlich.

Benutzeroberfläche: Erstellen eines neuen Anwendungspools für die Website und Ändern der Identität

Teil der richtlinien für gemeinsame Hostings, die das IIS-Team erstellt, ist ein neuer Anwendungspool; legen Sie seine Identität auf " PoolId1" fest, die wir gerade erstellt haben.

  1. Führen Sie auf dem IIS-Front-End-Server Start-Inetmgr> aus.
  2. Klicken Sie auf den Knoten "Anwendungspools" auf der Benutzeroberfläche, und wählen Sie dann unter "Aktionen ->Anwendungspool hinzufügen" aus...
  3. Geben Sie den Namen Pool_Site1, lassen Sie alle anderen Einstellungen allein, und klicken Sie auf 'OK'.
  4. Klicken Sie mit der rechten Maustaste auf die Pool_Site1 , und wählen Sie "Erweiterte Einstellungen" aus...
  5. Wählen Sie unter "Prozessmodell" die Zeile "Identität " und dann auf der Schaltfläche " ... " aus.
  6. Klicken Sie auf die Schaltfläche "Festlegen ", und konfigurieren Sie die benutzerdefinierte Identität , um unserer soeben erstellten Benutzeridentität - PoolId1 zu entsprechen. Klicken Sie erneut auf 'OK ' und ' OK ', um die Identität des Anwendungspools zu ändern. Folgendes wird angezeigt:

Aktivieren der Fehleranforderungsablaufverfolgung für DAS UNC-Hosting (3)

Wir müssen auch eine Website in diesen Anwendungspool ablegen. Verwenden Sie die Standardwebsite für die Zwecke dieser exemplarischen Vorgehensweise. Sie können auch eine neue Website für diese (SITE1) über INETMGR.exe erstellen. Gehen Sie folgendermaßen vor:

  1. Klicken Sie auf den Ordner "Websites ", und klicken Sie dann auf der Standardwebsite.
  2. Wählen Sie im rechten Bereich "Aktionen " die Option "Grundlegende Einstellungen" aus...
  3. Rechts neben dem Anwendungspool: Klicken Sie auf "Auswählen"...
  4. Wählen Sie den neuen Pool_Site1 Anwendungspool aus, den wir gerade erstellt haben, und klicken Sie auf 'OK', und klicken Sie dann erneut auf 'OK '.

CMD: Erstellen eines neuen Anwendungspools für die Website und Ändern der Identität

Gehen Sie folgendermaßen vor:

  1. Starten Sie eine Eingabeaufforderung mit erhöhten Rechten.

  2. Führen Sie zum Hinzufügen des neuen Anwendungspools den folgenden Befehl aus:

    %windir%\system32\inetsrv\appcmd add AppPool -name:Pool_Site1 -processModel.username:ERICDE-DELL-W\PoolId1 -processModel.password:!p4ssw0rd -processModel.identityType:SpecificUser

Um die Stammanwendung der Standardwebsite festzulegen, die in Pool_Site1 ausgeführt werden soll, führen Sie den folgenden Befehl aus:

%windir%\system32\inetsrv\appcmd set app -app.name:"Default Web Site/" -applicationPool:Pool_Site1

Erstellen und sperren Sie nun das UNC-Dateisystemverzeichnis & .

Führen Sie auf dem UNC-Server folgendes aus:

  1. Erstellen Sie einen Dateisystempfad (rufen Sie ihn auf), wo wir den Inhalt abbilden.

  2. Erstellen Sie darunter ein neues Verzeichnis namens "Site1" und unter diesem anderen Verzeichnis namens "Protokolle" und das endgültige Verzeichnis " failedReqLogFiles". Was Sie sehen sollten, ist:

    • g:\inhalt

      • Site1

        • Logs

          • failedReqLogFIles
  3. Legen Sie auf g:\content\Site1\Logs\failedReqLogFiles die Berechtigungen im Dateisystempfad fest, um dem PoolId1 die vollständige Kontrolle über das Protokollverzeichnis zu gewähren. Dies ist erforderlich, da die Arbeitsprozessidentität Inhalte auflisten können, neue Dateien schreiben, neue Verzeichnisse erstellen und alte Dateien löschen können. Führen Sie dazu aus einer Administratoreingabeaufforderung mit erhöhten Rechten den folgenden Befehl aus:

    • Windows Server® 2003 Fileserver:

      icacls g:\content\Site1\Logs\failedReqLogFiles /g PoolId1:F
    • Windows Server 2003 Fileserver:

      cacls g:\content\Site1\Logs\failedReqLogFiles /g PoolId1:F /e
  4. Teilen Sie das Verzeichnis aus. Führen Sie in der Befehlszeile folgendes aus:

    net share content$=g:\content /GRANT:Users,CHANGE

Festlegen der Fehlgeschlagenen Anforderungsablaufverfolgung zum Protokollieren des UNC-Pfads

Nachdem die Freigabe freigegeben wurde und die richtigen Berechtigungen eingerichtet wurden, konfigurieren Sie fehlerlose Anforderungsverfolgung, um sich beim UNC-Pfad anzumelden.

Benutzeroberfläche: Konfigurieren der Fehlgeschlagenen Anforderungsverfolgung zum Anmelden bei UNC

Gehen Sie wie folgt vor, um die Fehleranforderungsverfolgung zu konfigurieren, um sich mit unserem UNC-Pfad anzumelden:

  1. Öffnen Sie INETMGR, indem Sie Start-Inetmgr> ausführen.

  2. Klicken Sie auf "Standardwebsite", und klicken Sie dann unter "Konfigurieren " auf "Fehlgeschlagene Anforderungsablaufverfolgung"...

  3. Aktivieren Sie das Kontrollkästchen "Aktiviert ".

  4. Geben Sie unter Verzeichnis den Pfad zur UNC-Freigabe ein ->

    \\<UncServerName>\UNCContent\Site1\Logs\FailedReqLogFiles

Aktivieren der Fehleranforderungsablaufverfolgung für DAS UNC-Hosting (4)

Testen

Konfigurieren Sie eine Regel, um alle 200s für alle URLs für alle Inhalte zu erfassen, um einen Test auszuführen.

  1. Erweitern Sie in der INETMGR-Benutzeroberfläche erneut den Ordner "Websites" , und klicken Sie auf "Standardwebsite".
  2. Doppelklicken Sie auf fehlgeschlagene Anforderungsablaufverfolgungsregeln.
  3. Klicken Sie unter "Aktionen " rechts auf "Hinzufügen"...
    Aktivieren der Fehleranforderungsablaufverfolgung für DAS UNC-Hosting (5)
  4. Klicken Sie auf "Weiter", und legen Sie den Statuscode auf 200 fest:
    Aktivieren der Fehleranforderungsablaufverfolgung für DAS UNC-Hosting (6)
  5. Klicken Sie auf "Weiter", und verlassen Sie den Standard, um alles zu sammeln, und klicken Sie dann auf "Fertig stellen".

XML: Konfigurieren der Regel für die Fehlgeschlagene Anforderungsablaufverfolgung in web.config

Die tatsächliche XML sieht wie folgt in der datei web.config für die Standardwebsite aus:

<?xml version="1.0" encoding="UTF-8"?><configuration> <system.webServer> <tracing> <traceFailedRequests> <add path="*"> <traceAreas> <add provider="ASP" verbosity="Verbose" /> <add provider="ASPNET" areas="Infrastructure,Module,Page,AppServices" verbosity="Verbose" /> <add provider="ISAPI Extension" verbosity="Verbose" /> <add provider="WWW Server" areas="Authentication,Security,Filter,StaticFile,CGI,Compression,Cache,RequestNotifications" verbosity="Verbose" /> </traceAreas> <failureDefinitions statusCodes="200" /> </add> </traceFailedRequests> </tracing> </system.webServer></configuration>

Überprüfen des UNC-Back-End

Navigieren Sie zur Website, die wir eingerichtet haben, um fehlerlose Anforderungsablaufverfolgungsregeln für den UNC-Pfad zu protokollieren (z. B http://uncsite/default.aspx. ). Überprüfen Sie das UNC-Back-End-Serververzeichnis, in dem Sie protokollieren. Beachten Sie, dass ein neues Verzeichnis namens W3SVC1 innerhalb des konfigurierten Konfigurierten Anforderungsprotokolldateiverzeichnis erstellt wurde. Navigieren Sie zu diesem Verzeichnis, und sehen Sie die Protokolldatei und die FREB.xsl-Datei.

Aktivieren der Fehleranforderungsablaufverfolgung für DAS UNC-Hosting (2024)
Top Articles
Latest Posts
Article information

Author: Twana Towne Ret

Last Updated:

Views: 6193

Rating: 4.3 / 5 (64 voted)

Reviews: 95% of readers found this page helpful

Author information

Name: Twana Towne Ret

Birthday: 1994-03-19

Address: Apt. 990 97439 Corwin Motorway, Port Eliseoburgh, NM 99144-2618

Phone: +5958753152963

Job: National Specialist

Hobby: Kayaking, Photography, Skydiving, Embroidery, Leather crafting, Orienteering, Cooking

Introduction: My name is Twana Towne Ret, I am a famous, talented, joyous, perfect, powerful, inquisitive, lovely person who loves writing and wants to share my knowledge and understanding with you.