Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Modulo di URL Rewrite e Failed Request Tracing

Monitorare e comprendere tutti i passaggi dell'operazione di routing
Monitorare e comprendere tutti i passaggi dell'operazione di routing
Link copiato negli appunti

IIS 7 è provvisto di una serie di funzionalità per la diagnostica e il monitor delle richieste. Grazie a questa funzionalità è possibile primariamente, monitorare specifiche richieste in base a:

  • codice HTTP restituito, come ad esempio 404 e/o 500 o un range di valori tra questi
  • richieste HTTP che impiegano più di un certo tempo per essere eseguite

Una volta individuata la specifica richiesta HTTP da tracciare, IIS è in grado di monitorare tutto ciò che accade nella pipeline di esecuzione della richiesta, in base a specifici provider installati. Queste informazioni in genere sono preziose per compiere analisi per il troubleshooting o per identificare colli bottiglia ed eseguire analisi delle performance oppure per scoprire problemi di autenticazione e/o autorizzazione. Il modulo di URL Rewrite è integrato in questa pipeline, quindi vengono tracciate tutte le sue operazioni che esegue, come la valutazione di una regola di routing e la relativa azione intrapresa.

Il Failed Request Tracing va installato dal pannello di controllo di Windows che avete visto all'inizio di questa guida, nella sezione Health and Diagnostic, selezionare Tracing. Una volta installato deve essere abilitato, operazione che può essere compiuta dal pannello Actions, nella console di IIS, e poi premendo il link come mostrato in figura:

Figura 31. Configurazione del Failed Request Tracing
Configurazione del Failed Request Tracing

Per poi decidere quale directory conterrà i file generati ed il numero di trace. Generalmente abbiamo un singolo file di trace per ogni richiesta HTTP. Lo scopo di questo sistema è quello di raccogliere il maggior numero di informazioni su una richiesta che si verifica in condizioni particolari. Qui non ci interessa, quindi, avere un elenco di tutte le richieste che arrivano al server Web, questo tipo di richieste viene tracciato comunque in un altro file e ha una specifica configurazione a parte.

Figura 32. Directory in cui vengono salvate le trace
Directory in cui vengono salvate le trace

A questo punto dobbiamo definire le regole che discriminano le richieste che vogliamo analizzare. Per definirle ed ottenere i relativi file, torniamo alla console di IIS e selezioniamo l'icona Failed Request Tracing.

Figura 33. Selezione del Failed Request Tracing
Selezione del Failed Request Tracing

Un wizard ci guiderà nella scelta del provider responsabile di tracciare le informazioni desiderate e la scelta delle condizioni per la generazione del trace.

Figura 34. Scelta del codice http da tracciare
Scelta del codice http da tracciare

Scegliamo ora tra i provider relativi al server WWW quelli che hanno informazioni associate ai moduli ed in particolare a quello di URL Rewrite, come nella figura seguente:

Figura 35. Scelta dei provider che hanno le informazioni
Scelta dei provider che hanno le informazioni

Se ora eseguiamo una richiesta al server web in cui interviene il modulo di URL Rewrite sarà generato un file specifico, che tra le informazioni conterrà:

  • Valutazione della regola di routing
  • Pattern matching
  • Azione intrapresa
Figura 36. Valutazionde della regola di routing
Valutazionde della regola di routing

La figura precedente mostra un esempio di come una regola venga valutata (punti dal 7 al 10) e come si presenta l'output del file generato per la specifica richiesta. Il file è un file XML che viene renderizzato in HTML grazie ad un template XSLT presente nella directory stessa in cui vengono generati i file e facilmente modificabile.

Conclusioni

Questa lezione conclude il capitolo relativo al modulo di URL Rewrite, in cui abbiamo visto come configurare e gestire regole di routing sia in ingresso al server Web, intercettando le richiesta, sia in uscita intercettando le risposte dal server, fino a modificare porzioni di markup in modo automatico, senza modifiche al codice PHP.

Le funzionalità di tracing, che abbiamo brevemente esaminato, ci permettono molto più del semplice tracciamento della valutazione delle regole di routing, ma quest'esempio può essere un utile spunto per approfondimenti ulteriori. Inoltre questo componente è in grado di tracciare una richiesta HTTP di qualsiasi tipo, sia per file PHP, come in questo esempio, ma anche per file HTML, ASP, ASP.NET o altri.

Ti consigliamo anche