Problemen met mislukte aanvragen oplossen met behulp van tracering in IIS 7
Van toepassing op: Internet Information Services 7.0
Notitie
Dit artikel is van toepassing op IIS 7.0. Zie Problemen met mislukte aanvragen oplossen met tracering in IIS 8.5 voor nieuwere versies.
Tracering op basis van aanvragen is zowel beschikbaar in zelfstandige IIS-servers als in Azure-web-apps en biedt een manier om te bepalen wat er precies gebeurt met uw aanvragen en waarom, als u het probleem dat u ondervindt, kunt reproduceren. Problemen zoals slechte prestaties bij sommige aanvragen, of verificatiegerelateerde fouten in andere aanvragen, of de server 500-fout van ASP of ASP.NET kunnen vaak moeilijk zijn om problemen op te lossen, tenzij u de tracering van het probleem hebt vastgelegd wanneer het optreedt. In dit artikel wordt het traceren van mislukte aanvragen op IIS-server besproken. Zie Problemen met een app in Azure-app Service oplossen met behulp van Visual Studio voor meer informatie over hoe u dit doet met Azure-web-apps.
Tracering van mislukte aanvragen is ontworpen om de traceringsgebeurtenissen voor een aanvraag te bufferen en deze alleen naar de schijf te leegmaken als de aanvraag mislukt, waarbij u de definitie van 'fout' opgeeft. Als u wilt weten waarom u 404.2-foutberichten krijgt of de aanvraag vast loopt, gebruikt u Tracering van mislukte aanvragen.
De taken die in dit artikel worden geïllustreerd, zijn onder andere:
- De module Tracering van mislukte aanvragen inschakelen.
- Semantiek voor het traceren van mislukte aanvragen configureren.
- Definieer de URL waarvoor mislukte aanvraagtraceringen moeten worden bewaard, inclusief foutdefinities en gebieden die moeten worden getraceerd.
- Het genereren van de foutvoorwaarde en het weergeven van de resulterende tracering.
Voorwaarden
IIS installeren
U moet IIS 7 of hoger installeren voordat u de taken in dit artikel kunt uitvoeren. Blader om te http://localhost/
zien of IIS is geïnstalleerd. Als IIS niet is geïnstalleerd, raadpleegt u IIS installeren op Windows Server 2008 voor installatie-instructies. Zorg er bij het installeren van IIS voor dat u ook de volgende functies installeert:
- ASP.NET (onder World Wide Web Services - Application Development Features - ASP.NET)
- Tracering (onder World Wide Web Services - Health and Diagnostics - Tracing)
Aanmelden als beheerder
Zorg ervoor dat het account dat u gebruikt om u aan te melden het beheerdersaccount is of zich in de groep Administrators bevindt.
Notitie
Als u zich in de groep Administrators bevindt, krijgt u standaard geen volledige beheerdersrechten. U moet toepassingen uitvoeren als beheerder. Dit kunt u doen door met de rechtermuisknop op het toepassingspictogram te klikken en Uitvoeren als administrator te selecteren.
Een back-up maken
U moet een back-up van de configuratie maken voordat u de taken in de volgende secties uitvoert.
Voer de volgende stappen uit om een back-up van de configuratie te maken:
Selecteer Alle programma-accessoires> starten.>
Klik met de rechtermuisknop op de opdrachtprompt en selecteer Uitvoeren als administrator.
Voer in een opdrachtprompt de volgende opdracht uit:
%windir%\system32\inetsrv\appcmd add backup cleanInstall
Voorbeeldinhoud maken
Navigeer naar
%systemdrive%\inetpub\wwwroot
.Verplaats de inhoud naar een veilige locatie (voor het geval u de bestaande inhoud wilt herstellen) of verwijder deze.
Maak een leeg bestand en geef het test.asp een naam.
Navigeer in de opdrachtprompt naar het bestand test.asp in \inetpub\wwwroot.
Plak in het bestand test.asp de volgende inhoud:
<h2>Failed Request Tracing Lab</h2><br> <br>Today's date is <% response.write(Date()) %>
ASP uitschakelen
ASP moet zijn uitgeschakeld voor deze taak. ASP is alleen uitgeschakeld als voorbeeld en voor de doeleinden van de taken in dit artikel.
ASP uitschakelen
Open IIS-beheer (Internet Information Services).
Dubbelklik op ISAPI- en CGI-beperkingen.
Selecteer Actieve serverpagina's. Selecteer Weigeren in het deelvenster Acties om ASP uit te schakelen.
Schakel tracering van mislukte aanvragen in
Nadat u Tracering van mislukte aanvragen hebt ingeschakeld, moet u configureren waar de logboekbestanden zich bevinden. In deze taak schakelt u Tracering van mislukte aanvragen in voor de standaardwebsite en geeft u op waar de logboekbestanden moeten worden geplaatst. Vervolgens configureert u de fout waarvoor foutenlogboeken moeten worden gegenereerd.
Stap 1: Tracering van mislukte aanvragen voor de site inschakelen en de map met logboekbestanden configureren
Open een opdrachtprompt met beheerdersrechten en navigeer naar %systemdrive%\windows\system32\inetsrv.
Voer deze opdracht uit
inetmgr
om IIS-beheer te openen.Vouw in het deelvenster Verbindingen de computernaam uit, vouw Sites uit en selecteer vervolgens Standaardwebsite.
Selecteer in het deelvenster Acties onder Configureren de optie Tracering van mislukte aanvragen.
Configureer het volgende in het dialoogvenster Instellingen voor het traceren van mislukte aanvragen op de website bewerken:
- Schakel het selectievakje Inschakelen in .
- Behoud de standaardinstellingen voor de andere instellingen.
Selecteer OK.
Logboekregistratie van mislukte aanvragen is nu ingeschakeld voor de standaardwebsite. Controleer het bestand %windir%\system32\inetsrv\config\applicationHost.config om te bevestigen dat de configuratie er als volgt uitziet:
<system.applicationHost>
<sites>
<!-- site & app defaults -->
<site name="Default Web Site" id="1">
<!-- other site configuration -->
<traceFailedRequestsLogging enabled="true" />
</site>
</sites>
</system.applicationHost>
Stap 2: Uw foutdefinities configureren
In deze stap configureert u de foutdefinities voor uw URL, inclusief de gebieden die u wilt traceren. U lost problemen op met een 404.2 die door IIS wordt geretourneerd voor aanvragen voor extensies die nog niet zijn ingeschakeld. Hiermee kunt u bepalen welke specifieke extensies u moet inschakelen.
Open een opdrachtprompt met beheerdersrechten en navigeer naar %systemdrive%\windows\system32\inetsrv.
Voer deze opdracht uit
inetmgr
om IIS-beheer te openen.Vouw in het deelvenster Verbindingen de computernaam uit, vouw Sites uit en selecteer vervolgens Standaardwebsite.
Dubbelklik op Regels voor het traceren van mislukte aanvragen.
Selecteer Voltooien.
Selecteer Toevoegen in het deelvenster Acties.
Selecteer In de wizard Regel voor het toevoegen van mislukte aanvragen op de pagina Inhoud opgeven om te traceren alle inhoud (*). Selecteer Volgende.
Schakel op de pagina Traceringsvoorwaarden definiëren het selectievakje Statuscode(s) in en voer 404.2 in als statuscode om te traceren.
Selecteer Volgende.
Schakel op de pagina Traceringsproviders selecteren onder Providers het selectievakje WWW-server in. Schakel onder Gebieden het selectievakje Beveiliging in en schakel alle andere selectievakjes uit.
Het probleem dat u genereert, zorgt ervoor dat een traceringsgebeurtenis voor beveiligingsfouten wordt gegenereerd. Over het algemeen kunnen problemen met verificatie en autorisatie (inclusief PROBLEMEN met de ISAPI-beperkingslijst) worden vastgesteld met behulp van de CONFIGURATIE van het WWW-server- beveiligingsgebied voor tracering. Omdat het freb.xsl-opmaakmodel echter helpt bij het markeren van fouten en waarschuwingen, kunt u nog steeds de standaardconfiguratie gebruiken om alle gebeurtenissen in alle gebieden en providers te registreren. Selecteer uitgebreid onder Uitgebreidheid.
Selecteer Voltooien. U ziet de volgende definitie voor de standaardwebsite:
IIS Manager schrijft de configuratie naar het %windir%\system32\inetsrv\config\applicationHost.config
bestand met behulp van een <location>
tag. De configuratie moet er als volgt uitzien:
<location path="Default Web Site">
<system.webServer>
<tracing>
<traceFailedRequests>
<add path="*">
<traceAreas>
<add provider="WWW Server" areas="Security" verbosity="Verbose" />
</traceAreas>
<failureDefinitions statusCodes="404.2" />
</add>
</traceFailedRequests>
</tracing>
</system.webServer>
</location>
Het logboekbestand voor mislukte aanvragen testen en weergeven
In deze taak genereert u een mislukte aanvraag en bekijkt u het resulterende traceringslogboek. U hebt IIS al geconfigureerd voor het vastleggen van traceringslogboeken voor http://localhost/*.asp
aanvragen die mislukken met een HTTP-antwoordcode van 404.2. Controleer nu of het werkt.
Stap 1: Genereer een fout en het logboekbestand met mislukte aanvragen
Open een nieuw Internet Explorer-venster.
Voer het volgende adres in:
http://localhost/test.asp
.U krijgt de fout HTTP-fout 404.2 - Niet gevonden.
Stap 2: Het logboekbestand met mislukte aanvragen weergeven
Nu u een mislukte aanvraag hebt gegenereerd, opent u een opdrachtprompt met beheerdersrechten en gaat u naar %systemdrive%\inetpub\logs\FailedReqLogFiles\W3SVC1.
Start starten om een Internet Explorer-venster te starten vanuit de map.
U ziet hier een aantal dingen: wanneer IIS het logboekbestand met mislukte aanvragen schrijft, wordt er één bestand per mislukte aanvraag geschreven. Er wordt ook een freb.xsl-opmaakmodel geschreven, één per map. Dit helpt bij het weergeven van de resulterende logboekbestanden voor mislukte aanvragen (zoals fr000001.xml in dit voorbeeld).
Klik met de rechtermuisknop op het logboekbestand voor de fout 404.2 en selecteer Openen met>Internet Explorer. Als dit de eerste keer is dat u een bestand voor het traceren van mislukte aanvragen opent, moet u about:internet toevoegen aan de lijst met vertrouwde sites, omdat de verbeterde beveiligingsconfiguratie van Internet Explorer standaard is ingeschakeld. Zo ja, dan ziet u het volgende:
Selecteer In het dialoogvenster Internet Explorer de optie Toevoegen... om about:internet toe te voegen aan de lijst met vertrouwde sites. Hierdoor kan de XSL werken. U ziet het volgende nadat u about:internet hebt toegevoegd aan de lijst met vertrouwde sites:
Een samenvatting van de mislukte aanvraag wordt bovenaan geregistreerd, met de tabel Fouten en waarschuwingen die gebeurtenissen identificeren die WAARSCHUWING, FOUT of KRITIEKE FOUT zijn in ernst. In dit voorbeeld wordt het ernstniveau WAARSCHUWING veroorzaakt door ISAPI-BEPERKING. De afbeelding die u probeerde te laden, was %windir%\system32\inetsrv\asp.dll.
Open het onbewerkte XML-bestand rechtstreeks met behulp van een teksteditor en bekijk de inhoud van elke gebeurtenis.
Samenvatting
U hebt twee taken voltooid: tracering van mislukte aanvragen geconfigureerd om traceringen vast te leggen voor elke aanvraag die iis retourneert met een 404.2-statuscode en gecontroleerd of IIS de tracering voor uw aanvraag heeft vastgelegd. U hebt ook gecontroleerd of het freb.xml logboekbestand geen andere aanvragen bevat voor de aanvragen die u hebt gedaan, omdat de aanvragen geen retourcode 404.2 hebben. Wanneer u het logboekbestand met fouten raadpleegt, hebt u vastgesteld dat de oorzaak van de fout was dat de extensie voor die aanvraag is uitgeschakeld. U kunt andere niet-HTML-pagina's (zoals .gif- of .jpg-bestanden) proberen en u ziet dat het logboekbestand deze traceringen niet toevoegt. U kunt dit ook eenvoudig wijzigen in 404 of de fout vastleggen als de aanvraag langer dan 30 seconden duurt door het veld timeTaken in te stellen in uw failureDefinitions.
Uw back-up herstellen
Nu u de taken in dit artikel hebt voltooid, kunt u de back-up van de configuratie herstellen. Voer de volgende opdracht uit met beheerdersrechten:
%windir%\system32\inetsrv\appcmd restore backup cleanInstall