Personalizzazione delle pagine di errore customizing-error-pages

L’AEM viene fornito con un gestore degli errori standard per la gestione degli errori HTTP, ad esempio mostrando:

Messaggio di errore standard

Per rispondere agli errori, l'AEM fornisce 404.jsp script in /libs/sling/servlet/errorhandler.

TIP
Poiché l’AEM si basa su Apache Sling, sono disponibili ulteriori informazioni nella documentazione sulla gestione degli errori Apache.
NOTE
In un’istanza Autore, Filtro di debug CQ WCM è attivato per impostazione predefinita. Questo determina sempre il codice di risposta 200. Il gestore degli errori predefinito risponde scrivendo la traccia full stack nella risposta.
In un’istanza di pubblicazione, il filtro di debug CQ WCM è sempre disabilitato (anche se configurato come abilitato).

Personalizzare le pagine visualizzate dal gestore degli errori how-to-customize-pages-shown-by-the-error-handler

Puoi sviluppare script personalizzati per personalizzare le pagine visualizzate dal gestore degli errori quando viene rilevato un errore. Per eseguire questa operazione, utilizza Meccanismo di sovrapposizione standard AEM in modo che le pagine personalizzate vengano create in /apps e sovrapponi le pagine predefinite che si trovano in /libs.

  1. Nell’archivio, copia gli script predefiniti:

    • da /libs/sling/servlet/errorhandler/
    • a /apps/sling/servlet/errorhandler/

    Il percorso di destinazione non esiste per impostazione predefinita, pertanto devi crearlo quando esegui questa operazione per la prima volta.

  2. Accedi a /apps/sling/servlet/errorhandler. Qui puoi effettuare le seguenti operazioni:

    • modificare lo script esistente appropriato per fornire le informazioni richieste. Oppure
    • crea e modifica un nuovo script per il codice richiesto.
  3. Salva le modifiche e verifica.

CAUTION
Il 404.jsp Lo script è stato specificamente progettato per soddisfare l'autenticazione AEM; in particolare, per consentire l'accesso al sistema in caso di questi errori.
Pertanto, la sostituzione di questo script deve essere effettuata con molta attenzione.

Personalizzazione della risposta agli errori HTTP 500 customizing-the-response-to-http-errors

HTTP Errore interno del server 500 indica un errore sul lato server, ad esempio il fatto che il server abbia incontrato una condizione imprevista che ha impedito al server di soddisfare la richiesta.

Quando l’elaborazione delle richieste genera un’eccezione, il framework Sling Apache (su cui si basa l’AEM):

  • Registra l’eccezione

  • E restituisce nel corpo della risposta:

    • Il codice di risposta HTTP 500
    • Traccia dello stack di eccezioni

Da personalizzazione delle pagine visualizzate dal gestore degli errori a 500.jsp è possibile creare lo script. Tuttavia, viene utilizzato solo se HttpServletResponse.sendError(500) viene eseguito in modo esplicito, ovvero da un servizio di raccolta eccezioni.

In caso contrario, il codice di risposta è impostato su 500, ma il 500.jsp script non eseguito.

Per gestire gli errori 500, il nome file dello script del gestore degli errori deve essere uguale a quello della classe di eccezione (o superclasse). Per gestire tutte queste eccezioni è possibile creare uno script /apps/sling/servlet/errorhandler/Throwable.jsp o /apps/sling/servlet/errorhandler/Exception.jsp.

NOTE
In AEM come Cloud Service, la CDN fornisce una pagina di errore generica quando viene ricevuto un errore 5XX dal backend. Per consentire la trasmissione della risposta effettiva del backend, è necessario aggiungere la seguente intestazione alla risposta: x-aem-error-pass: true.
Questo funziona solo per le risposte provenienti dall’AEM o dal livello Apache/Dispatcher. Altri errori imprevisti provenienti dai livelli intermedi dell’infrastruttura visualizzeranno comunque la pagina di errore generico.
CAUTION
In un’istanza Autore, Filtro di debug CQ WCM è attivato per impostazione predefinita. Questo determina sempre il codice di risposta 200. Il gestore degli errori predefinito risponde scrivendo la traccia full stack nella risposta.
Per un gestore degli errori personalizzato, sono necessarie risposte con codice 500, quindi Il filtro di debug CQ WCM deve essere disabilitato. In questo modo viene restituito il codice di risposta 500, che a sua volta attiva il gestore di errori Sling corretto.
In un’istanza di pubblicazione, il filtro di debug CQ WCM è sempre disabilitato (anche se configurato come abilitato).
recommendation-more-help
fbcff2a9-b6fe-4574-b04a-21e75df764ab