Delen via


Tracering en logboekregistratie van mislukte aanvragen inschakelen voor UNC-hosting

Van toepassing op: Internet Information Services

Het plaatsen van toepassingsinhoud en code op een UNC-share voor hostingscenario's is steeds belangrijker op webservers. Bij hostingscenario's is het belangrijk dat u de logboeken naast de inhoud en code van de webtoepassing kunt bewaren. Logboeken bevatten de logboekbestanden voor het traceren van mislukte aanvragen, evenals de hitlogboeken die IIS-logboeken voor de website bevatten. In dit artikel wordt u begeleid bij het maken van de juiste mappen, het instellen van de juiste machtigingen voor deze mappen en het configureren van IIS voor het gebruik van de mappen voor de verschillende logboekbestanden door:

  • Gebruikersinterface: IIS-beheer of Explorer gebruiken
  • CMD: opdrachtregel gebruiken (PowerShell, AppCmd, enzovoort)
  • XML : configuratie handmatig bewerken.

Tracering van mislukte aanvragen configureren voor een hostingscenario

Tracering van mislukte aanvragen is een krachtige diagnostische functie waarmee ontwikkelaars en beheerders kunnen bepalen waar problemen optreden in hun toepassingen en waarom ze zich voordoen. Tracering van mislukte aanvragen na installatie is moeilijk te gebruiken door ontwikkelaars die niet-beheerders op de computer zijn. In deze sectie wordt het instellen van tracering van mislukte aanvragen door ontwikkelaars toegankelijk gemaakt door:

  • Door de secties te ontgrendelen die nodig zijn om ontwikkelaars hun eigen regels voor het traceren van mislukte aanvragen voor hun toepassingen te definiëren.
  • Het instellen van tracering van mislukte aanvragen om u aan te melden bij een UNC-share voor de eigenaar van de toepassing.

TraceFailedRequests delegeren <> aan niet-beheerders

Er zijn twee verschillende configuratiesecties voor tracering van mislukte aanvragen:

  • <traceFailedRequestsLogging>: Deze sectie is altijd beperkt tot IIS-beheerders. In deze sectie kunnen beheerders de functie Tracering van mislukte aanvragen voor een site in- of uitschakelen, het maximum aantal logboekbestanden, de grootte van de logboekbestanden en de map waarin de logboekbestanden zich bevinden configureren. Om deze redenen (d.w.w.: het beheren van de mogelijkheid om de schijf te vullen met logboekbestanden), moeten beheerders de controle over deze sectie behouden.
  • <traceFailedRequests>: in deze sectie maakt u uw foutdefinities: voor welke URL's traceringen moeten worden vastgelegd en onder welke omstandigheden deze traceringen als XML op schijf moeten worden opgeslagen. Dit is de sectie die u toestaat om te worden ontgrendeld.

Na de installatie van de module Voor het traceren van mislukte aanvragen (zie de probleemoplossing voor mislukte aanvragen met tracering met behulp van tracering voor informatie over de installatie en het basisgebruik van tracering van mislukte aanvragen), is de <traceFailedRequests> sectie al ingesteld voor lees-/schrijfmachtigingen. Hierdoor kunnen toepassingseigenaren hun eigen regels voor tracering van mislukte aanvragen definiëren, zonder dat de beheerder deze regels voor hen definieert.

UI: TraceFailedRequests-delegering <> controleren vanuit IIS-beheer

Ga als volgt te werk om te controleren of <traceFailedRequests> is ingesteld voor delegatie vanuit de gebruikersinterface van IIS-beheer:

  1. Selecteer Start en voer InetMgr in om IIS Manager te openen. Voer beheerdersreferenties in als u nog geen beheerder bent.
  2. Selecteer <de naam> van uw computer en selecteer vervolgens Functiedelegering.
  3. Controleer of regels voor het traceren van mislukte aanvragen zijn ingesteld op Lezen/Schrijven.

Schermopname van het dialoogvenster Functiedelegering. Regels voor het traceren van mislukte aanvragen zijn gemarkeerd.

Hierdoor kunnen ontwikkelaars die geen toegang hebben tot ApplicationHost.config hun eigen foutdefinities maken in hun application web.config-bestanden . Alleen wanneer de beheerder tracering van mislukte aanvragen inschakelt, worden de regels van kracht.

XML: Delegering <traceFailedRequests> controleren in ApplicationHost.config

Voer de volgende stappen uit om te controleren of <traceFailedRequests> is ingesteld voor delegatie via ApplicationHost.config:

  1. Start een opdrachtprompt met verhoogde bevoegdheid van een beheerder.
  2. Wijzig mappen in %windir%\system32\inetsrv\config en voer deze uit notepad applicationHost.config.
  3. Zoek in applicationHost.config naar de naam van de tekenreekssectie<="traceFailedRequests": deze sectie wordt gedelegeerd als deze is ingesteld overrideModeDefault="Allow".
<configSections>
...other config sectionGroups...
  <sectionGroup name="system.webServer">
  ...other sections...
    <sectionGroup name="tracing">
      <section name="traceFailedRequests" overrideModeDefault="Allow" />
      ...
    </sectionGroup>
   ...
  </sectionGroup>
</configSections>

De UNC-share- en groep-id's van toepassingen configureren

Als u wilt dat IIS logboekbestanden met mislukte aanvragen naar een UNC-share kan schrijven, moet de identiteit van het werkproces volledig worden gecontroleerd op de netwerkshare en het pad naar het bestandssysteem op de UNC-server. Dit komt doordat het mapinhoud moet kunnen vermelden, nieuwe logboekbestanden en mappen moeten kunnen maken en oude logboekbestanden moeten kunnen verwijderen.

Als u een van de ingebouwde accounts (zoals IUSR of Netwerkservice) gebruikt als de id van de groep van toepassingen, worden deze accounts weergegeven als ANONIEM op de UNC-server. Het wordt ten zeerste aanbevolen dat u het volgende doet:

  • DOMEINGEBRUIK: Maak een domeingebruikersaccount voor de groep van toepassingen en gebruik vervolgens de id van de groep van toepassingen naar ACL in de map met share- en bestandssysteembestanden waarin de logboekbestanden voor mislukte aanvragen live zijn. Zowel de webserver als de UNC-server moeten lid zijn van het domein.
  • NIET-DOMEINGEBRUIK: Als de UNC en webservers niet aan het domein zijn gekoppeld, moet hetzelfde account met hetzelfde accountwachtwoord op elke computer worden gemaakt. Dit is het voorbeeld dat in dit scenario wordt gebruikt.

In de volgende secties maakt u een nieuwe gebruiker met een voorbeeldnaam PoolId1 en met een voorbeeldwachtwoord !p4ssw0rd en een nieuwe toepassingsgroep met een voorbeeldnaam Pool_Site1.

Gebruikersinterface: Het nieuwe lokale account maken op de UNC-server en front-endwebserver

Deze aanwijzingen moeten worden herhaald op zowel de UNC-server als de webserver. Maak een gebruiker met de naam PoolId1, waarvan het wachtwoord !p4ssw0rd is.

  1. Voer de opdrachtprompt start lusrmgr.mscuit vanaf een opdrachtprompt met verhoogde bevoegdheid van de beheerder.

  2. Klik met de rechtermuisknop op Gebruikers en selecteer Nieuwe gebruiker....

  3. Vul de dialoogvenstervermeldingen Nieuwe gebruiker als volgt in:

    • Gebruikersnaam: PoolId1

    • Wachtwoord (en wachtwoord bevestigen): !p4ssw0rd

    • Wissen gebruiker moet wachtwoord wijzigen bij volgende aanmelding

    • Gebruiker selecteren die het wachtwoord niet kan wijzigen

    • Selecteer Maken ->Sluiten.

      Schermopname van het dialoogvenster Nieuwe gebruiker wordt weergegeven.

Zorg ervoor dat u de PoolId1-gebruiker maakt op zowel de front-end IIS-webserver als de UNC-server van de back-end. U moet de PoolId1 ook toevoegen aan de IIS_IUSRS groep op de front-endwebserver. Dit doet u als volgt:

  1. Selecteer de map Groepen in de lusrmgr MMC-module.
  2. Klik met de rechtermuisknop op IIS_IUSRS en selecteer Toevoegen aan groep.
  3. Selecteer Toevoegen...en voer< vervolgens servernaam>\PoolId1 in als de identiteit die u wilt toevoegen.

CMD: Maak het nieuwe lokale account op de UNC-server en front-endwebserver

Voer de volgende stappen uit om de nieuwe PoolId1-identiteit toe te voegen vanaf de opdrachtregel:

  1. Voer een opdrachtprompt met verhoogde bevoegdheid van de beheerder uit.

  2. Voer in het opdrachtpromptvenster de volgende opdrachten uit:

    net user PoolId1 !p4ssw0rd /ADD /passwordchg:no
    
    net localgroup IIS_IUSRS PoolId1 /ADD
    

Notitie

De net localgroup opdracht is alleen vereist op de front-endwebserver.

Gebruikersinterface: Een nieuwe groep toepassingen voor de website maken en de identiteit ervan wijzigen

Een deel van de richtlijnen voor gedeelde hosting is een nieuwe groep toepassingen; stel de identiteit ervan in op de PoolId1 die zojuist is gemaakt.

  1. Voer Start-InetMgr uit op de IIS-front-endserver>.
  2. Selecteer Toepassingsgroepen en selecteer vervolgens onder Acties -> Groep van toepassingen toevoegen....
  3. Maak de naam Pool_Site1, laat alle andere instellingen alleen en selecteer VERVOLGENS OK.
  4. Klik met de rechtermuisknop op Pool_Site1 en selecteer Geavanceerde instellingen....
  5. Selecteer onder Procesmodel de rij Identiteit en selecteer vervolgens de knop ... .
  6. Selecteer Stel de aangepaste identiteit in en configureer deze zodat deze overeenkomt met de gebruikersidentiteit die u zojuist hebt gemaakt - PoolId1. Selecteer OK en OK opnieuw om de identiteit van de groep van toepassingen te wijzigen.

Schermopname van het dialoogvenster Geavanceerde instellingen. Identiteit is gemarkeerd.

Zet een site neer in deze groep van toepassingen. Gebruik de standaardwebsite voor dit voorbeeld. U kunt ook een nieuwe site (bijvoorbeeld SITE1) maken met IIS-beheer. Ga als volgt te werk:

  1. Selecteer Sites -> Standaardwebsite.
  2. Selecteer In het rechterdeelvenster Acties de optie Basisinstellingen....
  3. Selecteer rechts van de groep van toepassingen:selecteer ....
  4. Selecteer de nieuwe Pool_Site1 groep van toepassingen, selecteer OK en klik vervolgens nogmaals op OK .

CMD: Maak een nieuwe groep toepassingen voor de website en wijzig de identiteit ervan

  1. Start een opdrachtprompt met verhoogde bevoegdheid van een beheerder.

  2. Voer de volgende opdracht uit om de nieuwe groep van toepassingen toe te voegen:

    %windir%\system32\inetsrv\appcmd add AppPool -name:Pool_Site1 -processModel.username:ERICDE-DELL-W\PoolId1 -processModel.password:!p4ssw0rd -processModel.identityType:SpecificUser
    
  3. Als u de hoofdtoepassing van de standaardwebsite wilt instellen die moet worden uitgevoerd in Pool_Site1, voert u de volgende opdracht uit:

    %windir%\system32\inetsrv\appcmd set app -app.name:"Default Web Site/" -applicationPool:Pool_Site1
    

De ACL's voor de UNC-share maken en vergrendelen

Maak en vergrendel nu de UNC-share en de bijbehorende bestandssysteemmappen.

CMD: De ACL's voor de UNC-share maken en vergrendelen

Voer op de UNC-server de volgende stappen uit:

  1. Maak een inhoud van het bestandssysteempad waar u de inhoud gaat dumpen.

  2. Maak daaronder een nieuwe mapsite1 en maak daaronder een andere maplogboeken en de uiteindelijke map failedReqLogFiles. U ziet:

    • g:\content
      • Site1
        • Logs
          • failedReqLogFIles
  3. Stel op g:\content\Site1\Logs\failedReqLogFiles de machtigingen voor het bestandssysteempad in om het PoolId1-account volledige controle te geven over de map Logboeken. Dit is vereist, omdat de identiteit van het werkproces inhoud moet kunnen weergeven, nieuwe bestanden kunnen schrijven, nieuwe mappen moeten maken en oude bestanden moeten verwijderen. Voer hiervoor de volgende opdracht uit vanaf een opdrachtprompt met verhoogde bevoegdheden van de beheerder:

    • Windows Server® 2003-bestandsserver:

      icacls g:\content\Site1\Logs\failedReqLogFiles /g PoolId1:F
      
    • Windows Server 2003-bestandsserver:

      cacls g:\content\Site1\Logs\failedReqLogFiles /g PoolId1:F /e
      
  4. Deel de map. Voer vanaf de opdrachtregel de volgende opdracht uit:

    net share content$=g:\content /GRANT:Users,CHANGE
    

Tracering van mislukte aanvragen instellen om u aan te melden bij het UNC-pad

Nu share is gedeeld en de juiste machtigingen zijn ingesteld, configureert u Tracering van mislukte aanvragen om u aan te melden bij het UNC-pad.

UI: Tracering van mislukte aanvragen configureren om u aan te melden bij UNC

Als u tracering van mislukte aanvragen wilt configureren om u aan te melden bij ons UNC-pad, volgt u deze instructies op de webserver:

  1. Open IIS Manager door Start ->Inetmgr uit te voeren.

  2. Selecteer Standaardwebsite en selecteer vervolgens onder Configureren mislukte tracering van aanvragen...

  3. Schakel het selectievakje Geactiveerd in.

  4. Voer onder Map het pad naar de UNC-share in:

    \\<UncServerName>\UNCContent\Site1\Logs\FailedReqLogFiles
    

    Schermopname van de instellingen voor het traceren van mislukte aanvragen voor de website bewerken.

Testen

Configureer een regel voor het vangen van alle HTTP 200-aanvragen voor alle URL's voor alle inhoud om een test uit te voeren.

  1. Vouw de sites opnieuw uit in de gebruikersinterface van IIS-beheer en selecteer Standaardwebsite.
  2. Dubbelklik op regels voor het traceren van mislukte aanvragen.
  3. Selecteer Onder Acties aan de rechterkant de optie Toevoegen...
    Schermopname van het dialoogvenster Regel voor het traceren van mislukte aanvragen toevoegen met de pagina Inhoud opgeven voor tracering.
  4. Selecteer Volgende en stel de statuscode in op 200:
    Schermopname van het dialoogvenster Regel voor het traceren van mislukte aanvragen toevoegen met de pagina Traceringsvoorwaarden definiëren.
  5. Selecteer Volgende, laat de standaardwaarde staan om alles te verzamelen en selecteer Voltooien.

XML: De regel voor het traceren van mislukte aanvragen configureren in web.config

De werkelijke XML ziet er als volgt uit in het web.config-bestand voor de standaardwebsite:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <tracing>
      <traceFailedRequests>
        <add path="*">
          <traceAreas>
            <add provider="ASP" verbosity="Verbose" />
            <add provider="ASPNET" areas="Infrastructure,Module,Page,AppServices" verbosity="Verbose" />
            <add provider="ISAPI Extension" verbosity="Verbose" />
            <add provider="WWW Server" areas="Authentication,Security,Filter,StaticFile,CGI,Compression,Cache,RequestNotifications" verbosity="Verbose" />
           </traceAreas>
          <failureDefinitions statusCodes="200" />
        </add>
      </traceFailedRequests>
    </tracing>
  </system.webServer>
</configuration>

De UNC-back-end controleren

Blader naar de website die u hebt ingesteld om regels voor het traceren van mislukte aanvragen te registreren bij het UNC-pad (vergelijkbaar met http://<uncsite>/default.aspx). Controleer de UNC-back-endservermap waar u zich aanmeldt. U ziet dat er een nieuwe map met de naam W3SVC1 is gemaakt in de geconfigureerde map met logboekbestanden voor mislukte aanvragen. Blader naar die map en bekijk het logboekbestand en het FREB.xsl-bestand .