Delen via


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:

  1. Selecteer Alle programma-accessoires> starten.>

  2. Klik met de rechtermuisknop op de opdrachtprompt en selecteer Uitvoeren als administrator.

    Schermopname van het contextmenu voor de opdrachtprompt, met Uitvoeren als administrator geselecteerd.

  3. Voer in een opdrachtprompt de volgende opdracht uit:

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

Voorbeeldinhoud maken

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

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

  3. Maak een leeg bestand en geef het test.asp een naam.

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

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

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

  2. Dubbelklik op ISAPI- en CGI-beperkingen.

    Schermopname van de I I S Manager met I A P I en C G I-beperkingen geselecteerd.

  3. Selecteer Actieve serverpagina's. Selecteer Weigeren in het deelvenster Acties om ASP uit te schakelen.

    Schermopname van het deelvenster I S A P I en C G I-beperkingen en acties geopend.

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

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

  2. Voer deze opdracht uit inetmgr om IIS-beheer 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.

    Schermopname van tracering van mislukte aanvragen onder Configureren.

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

    Schermopname van het dialoogvenster Instellingen voor het traceren van mislukte aanvragen van websites bewerken, met Inschakelen geselecteerd.

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

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

  2. Voer deze opdracht uit inetmgr om IIS-beheer te openen.

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

  4. Dubbelklik op Regels voor het traceren van mislukte aanvragen.

    Schermopname van het deelvenster Startpagina van de standaardwebsite en regels voor het traceren van mislukte aanvragen is geselecteerd.

  5. Selecteer Voltooien.

  6. Selecteer Toevoegen in het deelvenster Acties.

  7. Selecteer In de wizard Regel voor het toevoegen van mislukte aanvragen op de pagina Inhoud opgeven om te traceren alle inhoud (*). Selecteer Volgende.

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

  8. Schakel op de pagina Traceringsvoorwaarden definiëren het selectievakje Statuscode(s) in en voer 404.2 in als statuscode om te traceren.

    Schermopname van de pagina Traceringsvoorwaarden definiëren. Statuscode is geselecteerd met 404 punt 2 in het veld Statuscode.

  9. Selecteer Volgende.

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

    Schermopname van de pagina Traceringsproviders selecteren. W W W Server is geselecteerd onder Providers en Beveiliging is geselecteerd onder Uitgebreid.

  11. Selecteer Voltooien. U ziet de volgende definitie voor de standaardwebsite:

    Schermopname van het deelvenster Regels voor het traceren van mislukte aanvragen. W W W Server wordt vermeld onder Gekoppelde providers.

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

  1. Open een nieuw Internet Explorer-venster.

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

  3. U krijgt de fout HTTP-fout 404.2 - Niet gevonden.

    Schermopname van een webpagina met de titel Serverfout in de standaardwebsite van de toepassing. Onder Foutsamenvatting staat H T T P-fout 404 punt 2 Niet gevonden.

Stap 2: Het logboekbestand met mislukte aanvragen weergeven

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

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

    Schermopname van een dialoogvenster voor verbeterde beveiliging van Internet Explorer. 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. U ziet het volgende nadat u about:internet hebt toegevoegd aan de lijst met vertrouwde sites:

    Schermopname van Internet Explorer. Het tabblad Samenvatting van aanvraag is geselecteerd en er worden twee waarschuwingen weergegeven.

    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.

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