Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op: Internet Information Services 7.0
Opmerking
Dit artikel is van toepassing op IIS 7.0. Zie voor nieuwere versies Problemen met mislukte verzoeken oplossen met tracing in IIS 8.5.
Verzoekgebaseerde tracering is zowel beschikbaar op zelfstandige IIS-servers als op Azure-webapps en biedt een manier om te bepalen wat er precies gebeurt met uw verzoeken en waarom, als u het probleem dat u ondervindt kunt reproduceren. Problemen zoals slechte prestaties bij sommige verzoeken, of authenticatiefouten bij andere verzoeken, of de server 500-fout van ASP of ASP.NET kunnen vaak moeilijk op te lossen zijn, tenzij u de trace van het probleem hebt vastgelegd wanneer het zich voordoet. Dit artikel bespreekt Failed Request Tracing op IIS-server. Voor informatie over hoe je dit kunt doen met Azure-webapps, zie Troubleshoot an app in Azure App Service using Visual Studio.
Het traceren van mislukte verzoeken is ontworpen om de traceergegevens voor een verzoek te bufferen en deze alleen naar de schijf te schrijven als het verzoek mislukt, waarbij u de definitie van "mislukking" geeft. Als je wilt weten waarom je 404.2 foutmeldingen krijgt of waarom verzoeken blijven hangen, gebruik dan Failed Request Tracing.
De taken die in dit artikel worden geïllustreerd omvatten:
- 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 foutconditie en het bekijken van de resulterende trace.
Vereiste voorwaarden
IIS installeren
U moet IIS 7 of hoger installeren voordat u de taken in dit artikel kunt uitvoeren. Ga naar http://localhost/ om te controleren of IIS is geïnstalleerd. Als IIS niet is geïnstalleerd, raadpleeg Het installeren van IIS op Windows Server 2008 voor installatie-instructies. Bij het installeren van IIS, zorg ervoor dat je ook de volgende functies installeert:
- ASP.NET (onder World Wide Web Services - Application Development Features - ASP.NET)
- Tracering (onder World Wide Web Services - Gezondheid en Diagnostiek - Traceren)
Meld je aan als beheerder
Zorg ervoor dat het account dat u gebruikt om in te loggen het beheerdersaccount is of deel uitmaakt van de groep Beheerders.
Opmerking
Het lid zijn van de beheerdersgroep verleent je niet automatisch volledige beheerdersrechten. Je moet applicaties als beheerder uitvoeren, wat je kunt doen door met de rechtermuisknop op het applicatiepictogram te klikken en Run as administrator te selecteren.
Maak een back-up
U moet een back-up van de configuratie maken voordat u de taken in de volgende secties uitvoert.
Om een back-up van de configuratie te maken, volgt u deze stappen:
SelecteerAlle programma-accessoires>starten>.
Klik met de rechtermuisknop op Opdrachtprompt, en selecteer vervolgens Als administrator uitvoeren.
Open een opdrachtprompt en voer de volgende opdracht uit:
%windir%\system32\inetsrv\appcmd add backup cleanInstall
Maak voorbeeldinhoud aan
Navigeer naar
%systemdrive%\inetpub\wwwroot.Verplaats de inhoud naar een veilige locatie (voor het geval je de bestaande inhoud wilt herstellen) of verwijder het.
Maak een leeg bestand en noem het test.asp.
Navigeer in de opdrachtprompt naar het bestand test.asp in \inetpub\wwwroot.
In het test.asp bestand, plak de volgende inhoud:
<h2>Failed Request Tracing Lab</h2><br> <br>Today's date is <% response.write(Date()) %>
ASP uitschakelen
ASP moet worden uitgeschakeld voor deze taak. ASP is uitgeschakeld alleen als een voorbeeld en voor de doeleinden van de taken in dit artikel.
ASP uitschakelen
Open Internet Information Services (IIS)-beheer.
Dubbelklik op ISAPI and CGI Restrictions.
Selecteer Active Server Pages. In het actiesvenster, selecteer weigeren om ASP uit te schakelen.
Inschakelen van tracering van mislukte verzoeken
Nadat u Failed Request Tracing hebt ingeschakeld, moet u configureren waar de logbestanden zullen worden opgeslagen. Bij deze taak schakel je het traceren van mislukte aanvragen in voor de standaardwebsite en specificeer je waar de logbestanden moeten worden geplaatst. Vervolgens configureert u de fout waarvoor u faalresultatenlogs wilt genereren.
Stap 1: Schakel Traceren van Mislukte Verzoeken in voor de Site en Configureer de Logbestandmap
Open een opdrachtprompt met beheerdersrechten en navigeer naar %systemdrive%\windows\system32\inetsrv.
Voer
inetmgruit om IIS Manager 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.
In het Dialoogvenster Instellingen voor Mislukte Verzoektracering van de Website Bewerken, configureer het volgende:
- Vink het selectievakje Inschakelen aan.
- Behoud de standaardinstellingen voor de overige instellingen.
Kies OK.
Mislukte verzoektraceringlogboekregistratie is nu ingeschakeld voor de standaardwebsite. Controleer het %windir%\system32\inetsrv\config\applicationHost.config-bestand 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: Stel uw fouten-definities in
In deze stap configureert u de foutdefinities voor uw URL, inclusief de gebieden die u wilt traceren. Je zult problemen oplossen met een 404.2 die door IIS wordt geretourneerd voor alle aanvragen naar 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
inetmgruit om IIS Manager te openen.Vouw in het deelvenster Verbindingen de computernaam uit, vouw Sites uit en selecteer vervolgens Standaardwebsite.
Dubbelklik Failed Request Tracing Rules.
Selecteer Voltooien.
Selecteer Toevoegen in het deelvenster Acties.
In de wizard Regel voor het toevoegen van mislukte aanvragen, selecteer op de pagina Inhoud opgeven om te tracerenalle inhoud (*). Kies Volgende.
Op de pagina Definieer traceer voorwaarden, selecteer het selectievakje Statuscode(s) en voer 404.2 in als de statuscode om te traceren.
Kies Volgende.
Op de Select Trace Providers-pagina, onder Providers, selecteer het selectievakje WWW Server. Onder Gebieden, selecteer het selectievakje Beveiliging en wis alle andere selectievakjes.
Het probleem dat u veroorzaakt, zorgt ervoor dat een traceringsgebeurtenis voor beveiligingsfouten wordt opgeroepen. Over het algemeen kunnen problemen met authenticatie en autorisatie (inclusief problemen met de ISAPI-beperkingslijst) worden gediagnosticeerd door gebruik te maken van de configuratie van het beveiligingsgebied van de WWW-server voor het traceren. Hoewel de FREB.xsl-stijlblad helpt fouten en waarschuwingen te benadrukken, kun je nog steeds de standaardconfiguratie gebruiken om alle gebeurtenissen in alle gebieden en providers vast te leggen. Onder Detailniveau, selecteer Uitgebreid.
Selecteer Voltooien. U zou de volgende definitie voor de Default Web Site moeten zien:
IIS Manager schrijft de configuratie naar het %windir%\system32\inetsrv\config\applicationHost.config-bestand door een <location>-label te gebruiken. De configuratie zou er als volgt uit moeten zien:
<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>
Test en bekijk het storingsverzoek logbestand
In deze taak genereer je een mislukte aanvraag en bekijk je het resulterende trace-logboek. Je hebt IIS al geconfigureerd om tracelogs vast te leggen voor http://localhost/*.asp verzoeken die falen met een HTTP-responscode van 404.2. Controleer nu of het werkt.
Stap 1: Genereer een fout- en het verzoeklogboekbestand voor mislukkingen
Open een nieuw venster van Internet Explorer.
Voer het volgende adres in:
http://localhost/test.asp.U krijgt een "HTTP Error 404.2 - Not Found"-fout.
Stap 2: Bekijk het storingsaanvraaglogbestand
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.
Let op een paar dingen hier: Wanneer IIS het logbestand van een mislukte aanvraag schrijft, schrijft het één bestand per mislukte aanvraag. Er wordt ook een freb.xsl-stijlblad geschreven, één per directory. Dit helpt wanneer u de resulterende logbestanden van mislukkingen bekijkt (zoals fr000001.xml in dit voorbeeld).
Klik met de rechtermuisknop op het logbestand voor de 404.2-fout 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. Je ziet het volgende nadat je about:internet aan de lijst met vertrouwde websites hebt toegevoegd:
Een samenvatting van het mislukte verzoek wordt bovenaan vastgelegd, met de
Fouten & Waarschuwingen tabel die alle gebeurtenissen identificeert dieWAARSCHUWING ,FOUT , ofKRITIEKE FOUT zijn inErnst . 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 ruwe XML-bestand rechtstreeks met een teksteditor en bekijk de inhoud van elk evenement.
Samenvatting
U heeft twee taken voltooid: u heeft Mislukte Verzoek Tracering geconfigureerd om traces vast te leggen voor elke aanvraag die IIS retourneert met een 404.2-statuscode, en u heeft geverifieerd dat IIS de trace voor uw verzoek 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 je het faallogbestand raadpleegde, bepaalde je dat de oorzaak van de storing was dat de extensie voor dat verzoek was uitgeschakeld. Je kunt andere niet-HTML-pagina's proberen (zoals .gif- of .jpg-bestanden) en opmerken dat het logbestand deze sporen NIET toevoegt. U kunt dit ook eenvoudig wijzigen naar 404, of de fout vastleggen als het verzoek langer dan 30 seconden duurt door het timeTaken-veld in uw failureDefinitions in te stellen.
Herstel uw back-up
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