Delen via


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

Van toepassing op: Internet Information Services 8.5

Inleiding

Tracering op basis van aanvragen is zowel beschikbaar in zelfstandige IIS-servers als op Microsoft Azure-websites (WAWS). Als u het probleem dat u ondervindt, kunt reproduceren, biedt tracering op basis van aanvragen een manier om te bepalen wat er precies gebeurt met uw aanvragen en waarom dit gebeurt. Problemen zoals slechte prestaties bij sommige aanvragen, verificatiegerelateerde fouten in andere aanvragen of de server 500-fout van ASP of ASP.NET kunnen vaak moeilijk worden opgelost, 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 Microsoft Azure-websites.

Tracering van mislukte aanvragen is ontworpen om de traceringsgebeurtenissen voor een aanvraag te bufferen en deze alleen naar schijf te leegmaken als de aanvraag mislukt, waarbij u de definitie van de fout opgeeft. Als u wilt weten waarom uw aanvragen een specifieke HTTP-statuscode retourneren, bijvoorbeeld 401 of 404, of als een aanvraag enige tijd in beslag neemt om te verwerken of niet reageert, kunt u Tracering van mislukte aanvragen gebruiken.

De taken die in dit artikel worden uitgelegd, 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

Installeer IIS 8.5 voordat u de taken kunt uitvoeren die in dit artikel worden beschreven. Blader naar http://localhost/ en controleer of het welkomstscherm van Internet Information Services wordt weergegeven. Als IIS niet is geïnstalleerd, raadpleegt u IIS 8.5 installeren op Windows Server 2012 R2 voor installatie-instructies. Zorg er bij het installeren van IIS voor dat u ook de volgende functies installeert:

  • ASP.NET 3.5 (onder Webserver (IIS)/Web Server/Application Development Features/ASP.NET 3.5)
  • ASP.NET 4.5 (onder Webserver (IIS)/Web Server/Application Development Features/ASP.NET 4.5)
  • Tracering (onder Webserver (IIS)/Webserverstatus/en diagnostische gegevens - Tracering)

Aanmelden als beheerder

Zorg ervoor dat het account dat u gebruikt om u aan te melden het beheerdersaccount is of zich in de beheerdersgroep bevindt.

Notitie

Als u zich in de beheerdersgroep bevindt, krijgt u standaard geen volledige beheerdersrechten. U moet toepassingen uitvoeren als beheerder door met de rechtermuisknop op het toepassingspictogram te klikken en Uitvoeren als administrator te selecteren.

Een back-up maken

Maak een back-up van de configuratiebestanden voordat u de volgende taken uitvoert:

  1. Selecteer tegelijkertijd de Windows-logotoets en de X-toets , selecteer opdrachtprompt (beheerder) en selecteer vervolgens Ja.

    Schermopname van opdrachtpromptbeheerder in de Windows-taakbalk.

  2. Voer in de opdrachtprompt de volgende opdracht uit:

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

    Met deze opdracht maakt u een cleanInstall-map met back-upconfiguratiebestanden in %windir%\system32\inetsrv\backup.

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.

Voer de volgende stappen uit om ASP uit te schakelen:

  1. Open IIS-beheer en selecteer de server.

  2. Dubbelklik op ISAPI- en CGI-beperkingen.

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

  3. Selecteer Active Server Pages in het deelvenster ISAPI- en CGI-beperkingen. Selecteer Weigeren in het deelvenster Acties om ASP uit te schakelen. Actieve serverpagina's worden weergegeven als Niet toegestaan.

    Schermopname van het deelvenster I S A P I en C G I-beperkingen, met de optie Actieve serverpagina's geselecteerd. De optie Weigeren is geselecteerd in het deelvenster Acties.

Schakel tracering van mislukte aanvragen in

Nadat u Tracering van mislukte aanvragen hebt ingeschakeld, moet u het pad van de logboekbestanden configureren. In deze sectie schakelt u Tracering van mislukte aanvragen in voor de standaardwebsite en geeft u op waar de logboekbestanden moeten worden opgeslagen en configureert u vervolgens 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 het deelvenster Acties met de optie Mislukte aanvraagtracering is gemarkeerd op het tabblad Configureren.

  5. Configureer het volgende in het dialoogvenster Instellingen voor het traceren van mislukte aanvragen van 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 de website met de opdracht Map invullen en het selectievakje Inschakelen ingeschakeld.

  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>
       <!-- other system configuration --> 
       <sites> 
          <site name="Default Web Site" id="1"> 
             <!-- other site configuration --> 
             <traceFailedRequestsLogging  enabled="true" /> 
          </site> 
          <!-- site & app defaults --> 
          <!-- other sites configuration --> 
       </sites> 
       <!-- other system configuration --> 
    </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-statuscode die door IIS wordt geretourneerd voor aanvragen voor extensies die nog niet zijn ingeschakeld. Hiermee kunt u bepalen welke specifieke extensies u moet inschakelen. Zie HTTP-statuscodes in IIS voor meer informatie.

  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 Standaardwebsite met de functie Regels voor het traceren van mislukte aanvragen geselecteerd.

  5. Selecteer In het deelvenster Acties de optie Toevoegen....

  6. Selecteer in de wizard Regel voor het traceren van mislukte aanvragen toevoegen op de pagina Inhoud opgeven om te traceren alle inhoud (*) en selecteer vervolgens Volgende.

    Schermopname van de wizard Regel voor het traceren van mislukte aanvragen toevoegen. De optie Alle inhoud is geselecteerd op de pagina Inhoud opgeven om te traceren.

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

    Schermopname van regel voor het traceren van mislukte aanvragen toevoegen met de pagina Traceringsvoorwaarden definiëren en 404 punt 2 die als statuscode is ingevoerd.

  8. Selecteer Volgende.

  9. Schakel op de pagina Traceringsproviders onder Providers het selectievakje WWW-server in en schakel alle andere selectievakjes uit. 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.

  10. Selecteer uitgebreid onder Uitgebreidheid.

    Notitie

    Wanneer u de traceringsfunctieservice installeert, installeert IIS standaard de traceringsproviders www-server, ASP en ISAPI-extensie. Als u ASP.NET 2.0 of hoger installeert, voegt IIS automatisch de ASPNET-traceringsprovider toe. Aanvullende providers worden geïnstalleerd door het ARR-installatiepakket (Application Request Routing), waarmee ook de URL-herschrijfmodule, Webfarmbeheer en Externe cache wordt geïnstalleerd. U kunt meer traceringsproviders toevoegen met behulp van het <add> element in het <traceProviderDefinitions> element.

    Schermopname van de wizard Regels voor het traceren van mislukte aanvragen toevoegen waarin WWW-server is geselecteerd in de lijst Providers en Beveiliging die wordt geselecteerd in het menu Gebieden.

  11. Selecteer Voltooien.

  12. U ziet de volgende definitie voor de standaardwebsite:

    Schermopname van de pagina Regels voor het traceren van mislukte aanvragen met www-server die is ingevoerd als gekoppelde provider en 404 punt 2 als statuscode.

    IIS Manager schrijft de configuratie naar het %systemdrive%\inetpub\wwwroot\web.config bestand met behulp van een <location> tag. De configuratie moet er ongeveer als volgt uitzien:

    <configuration> 
        <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> 
    </configuration>
    

Het logboekbestand voor mislukte aanvragen testen en weergeven

Deze sectie helpt u bij het genereren van een mislukte aanvraag en het resulterende traceringslogboek weer te geven. 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 de http://localhost/test.asp toets in en druk op Enter. Het foutbericht HTTP-fout 404.2 - Niet gevonden wordt weergegeven.

    Schermopname van het venster Van Internet Explorer met H T T T P-fout 404 punt 2 streepje: berichtpagina Niet gevonden.

Stap 2: Het logboekbestand met mislukte aanvragen weergeven

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

    Schermopname van de map W 3 S V C 1 in de map Req Log Files is mislukt.

    Notitie

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

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

    Schermafbeelding van het dialoogvenster Internet Explorer met Doorgaan om te vragen wanneer de optie Website-inhoud is geblokkeerd geselecteerd.

  3. Voeg in het dialoogvenster Internet Explorer about:internet toe aan de lijst met vertrouwde sites door de volgende stappen uit te voeren:

    1. Selecteer het menu Extra en selecteer vervolgens Internetopties.
    2. Selecteer het tabblad Beveiliging.
    3. Selecteer Vertrouwde zone en selecteer vervolgens Sites.
    4. Hierdoor kan de XSL werken.
  4. U ziet een pagina Overzicht van aanvragen nadat u about:internet hebt toegevoegd aan de lijst met vertrouwde sites:

    Schermopname van de pagina Overzicht van aanvraag met de tabel Fouten en Waarschuwingen met kolommen voor ernst, gebeurtenis en modulenaam.

    Een samenvatting van de mislukte aanvraag wordt bovenaan geregistreerd, met de tabel Fouten en waarschuwingen die gebeurtenissen identificeren die WARNING, ERRORof CRITICAL ERROR in ernst, zijn. In dit voorbeeld wordt het WARNING ernstniveau veroorzaakt door ISAPI-BEPERKING. De afbeelding die u probeerde te laden, was %windir%\system32\inetsrv\asp.dll.

  5. Open het onbewerkte XML-bestand rechtstreeks met behulp van een teksteditor en bekijk de inhoud van de gebeurtenis.

Samenvatting

U hebt twee taken voltooid: het configureren van tracering van mislukte aanvragen om traceringen vast te leggen voor elke aanvraag die iis retourneert met een 404.2-statuscode en te controleren of IIS de tracering voor uw aanvraag heeft vastgelegd. U hebt ook gecontroleerd of het freb.xml logboekbestand geen andere aanvragen bevatte dan die met een retourcode 404.2. Toen u het logboekbestand met fouten hebt geraadpleegd, 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 er rekening mee houden dat het logboekbestand deze traceringen niet toevoegt. U kunt deze gebeurtenis ook eenvoudig wijzigen in 404 of de fout vastleggen als de aanvraag langer duurt dan 30 seconden 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