Delen via


Problemen met mislukte aanvragen oplossen met behulp van tracering in IIS 7

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:

  1. SelecteerAlle programma-accessoires>starten>.

  2. Klik met de rechtermuisknop op Opdrachtprompt, en selecteer vervolgens Als administrator uitvoeren.

    Schermafbeelding die het contextmenu voor de Opdrachtprompt toont, met Als administrator uitvoeren geselecteerd.

  3. Open een opdrachtprompt en voer de volgende opdracht uit:

    %windir%\system32\inetsrv\appcmd add backup cleanInstall
    

Maak voorbeeldinhoud aan

  1. Navigeer naar %systemdrive%\inetpub\wwwroot.

  2. Verplaats de inhoud naar een veilige locatie (voor het geval je de bestaande inhoud wilt herstellen) of verwijder het.

  3. Maak een leeg bestand en noem het test.asp.

  4. Navigeer in de opdrachtprompt naar het bestand test.asp in \inetpub\wwwroot.

  5. 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

  1. Open Internet Information Services (IIS)-beheer.

  2. Dubbelklik op ISAPI and CGI Restrictions.

    Schermafbeelding die de IIS Manager toont met ISA PI en CGI-beperkingen geselecteerd.

  3. Selecteer Active Server Pages. In het actiesvenster, selecteer weigeren om ASP uit te schakelen.

    Schermafbeelding die het paneel Beperkingen en Acties van I S A P I en C G I toont geopend.

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

  1. Open een opdrachtprompt met beheerdersrechten en navigeer naar %systemdrive%\windows\system32\inetsrv.

  2. Voer inetmgr uit om IIS Manager te openen.

  3. Vouw in het deelvenster Verbindingen de computernaam uit, vouw Sites uit en selecteer vervolgens Standaardwebsite.

  4. Selecteer in het deelvenster Acties onder Configureren de optie Tracering van mislukte aanvragen.

    Schermafbeelding die Foutverzoekopsporing laat zien onder Configureren.

  5. 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.

    Schermafbeelding waarin het dialoogvenster 'Websitetrace-instellingen voor mislukte aanvragen bewerken' wordt getoond, met 'Inschakelen' geselecteerd.

  6. 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.

  1. Open een opdrachtprompt met beheerdersrechten en navigeer naar %systemdrive%\windows\system32\inetsrv.

  2. Voer inetmgr uit om IIS Manager te openen.

  3. Vouw in het deelvenster Verbindingen de computernaam uit, vouw Sites uit en selecteer vervolgens Standaardwebsite.

  4. Dubbelklik Failed Request Tracing Rules.

    Schermopname die Default Web Site Home-paneel laat zien, en Failed Request Tracing Rules is geselecteerd.

  5. Selecteer Voltooien.

  6. Selecteer Toevoegen in het deelvenster Acties.

  7. In de wizard Regel voor het toevoegen van mislukte aanvragen, selecteer op de pagina Inhoud opgeven om te tracerenalle inhoud (*). Kies Volgende.

    Schermopname van de wizard Regel voor het traceren van mislukte aanvragen toevoegen, met Alle inhoud geselecteerd.

  8. Op de pagina Definieer traceer voorwaarden, selecteer het selectievakje Statuscode(s) en voer 404.2 in als de statuscode om te traceren.

    Schermafbeelding die de pagina 'Define Trace Conditions' toont. Statuscode is geselecteerd met 404 dot 2 in het veld voor statuscodes.

  9. Kies Volgende.

  10. 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.

    Screenshot die de pagina 'Select Trace Providers' toont. W W W Server is geselecteerd onder Providers, en Security is geselecteerd onder Verbose.

  11. Selecteer Voltooien. U zou de volgende definitie voor de Default Web Site moeten zien:

    Schermafbeelding die de paneel met regels voor het traceren van mislukte verzoeken toont. WWW-server staat vermeld onder Geassocieerde Providers.

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

  1. Open een nieuw venster van Internet Explorer.

  2. Voer het volgende adres in: http://localhost/test.asp.

  3. U krijgt een "HTTP Error 404.2 - Not Found"-fout.

    Schermafbeelding die een webpagina toont met de titel Serverfout in Applicatie Standaard Website. Onder de Fout Samenvatting staat H T T P Fout 404 punt 2 Niet Gevonden.

Stap 2: Bekijk het storingsaanvraaglogbestand

  1. Nu u een mislukte aanvraag hebt gegenereerd, opent u een opdrachtprompt met beheerdersrechten en gaat u naar %systemdrive%\inetpub\logs\FailedReqLogFiles\W3SVC1.

  2. Start starten om een Internet Explorer-venster te starten vanuit de map.

    Schermopname van Internet Explorer die naar het pad W 3 S V C 1 navigeert. Twee bestanden worden vermeld, freb en f r 0 0 0 0 0 1.

  3. 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).

  4. 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:

    Screenshot die een dialoogvenster toont voor de Internet Explorer Enhanced Security Configuration. Over dubbele punt internet is geblokkeerd.

  5. 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:

    Screenshot die Internet Explorer toont. Het tabblad Verzoekoverzicht is geselecteerd en er worden twee waarschuwingen weergegeven.

    Een samenvatting van het mislukte verzoek wordt bovenaan vastgelegd, met de Fouten & Waarschuwingen tabel die alle gebeurtenissen identificeert 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.

  6. 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