Oggi ho riscontrato un problema durante il setup di una nuova applicazione: collegandosi all’indirizzo del server con un browser si otteneva il seguente messaggio di errore
Per identificare esattamente la causa dell’errore, ho scoperto una nuova funzionalità introdotta nelle versioni più recenti di Microsoft IIS (Internet Information Services): la tracciatura delle richieste fallite (failed request tracing). Tramite questo strumento è possibile, in maniera selettiva, tracciare tutti gli step di elaborazione di una richiesta per identificare quale causi l’errore restituito all’utente.
Vediamo come si utilizza. Per prima cosa verifichiamo che la feature sia installata sul server tramite Server Manager:
Apriamo lo strumento IIS Manager, selezioniamo il sito che pubblica l’applicazione e nel pannello Actions (a destra) clicchiamo Failed Request Tracing…:
Abilitiamo la funzionalità e prendiamo nota del percorso dove saranno salvati i logs:
Dobbiamo ora indicare quali richieste saranno tracciate. Clicchiamo sull’icona:
quindi dal pannello Actions clicchiamo su Add...
Utilizzando il wizard possiamo indicare i criteri che una richiesta deve soddisfare per essere tracciata. Ad esempio nello screenshot seguente ho creato una regola di tracciatura per le richieste che generano l’errore 401.3:
Se ora ripetiamo la richiesta via browser, nel percorso sopra identificato saranno creati i files di tracciatura:
Aprendo i files frxxxxxx verrà visualizzata una pagina con tutti i dettagli relativi alla elaborazione della richiesta:
Nel mio caso, spostandomi nel tab Request Details ho scoperto la cartella alla quale IIS non riusciva ad accedere:
Assegnati i permessi corretti sul filesystem NTFS, l’applicazione ha iniziato a funzionare correttamente.