Pagine di errore personalizzate

Scopri come implementare pagine di errore personalizzate per il sito web ospitato da AEM as a Cloud Service.

In questa esercitazione imparerai:

  • Pagine di errore predefinite

  • Da dove vengono distribuite le pagine di errore

    • Tipo di servizio AEM: authoring, pubblicazione, anteprima
    • CDN gestito da Adobe
  • Opzioni per personalizzare le pagine di errore

    • ErrorDocument Direttiva Apache
    • ACS AEM Commons - Gestore pagina di errore
    • Pagine errore CDN

Pagine di errore predefinite

Esaminiamo quando vengono visualizzate le pagine di errore, le pagine di errore predefinite e da dove vengono distribuite.

Le pagine di errore vengono visualizzate quando:

  • la pagina non esiste (404)
  • non autorizzato ad accedere ad una pagina (403)
  • errore del server (500) a causa di problemi di codice o server non raggiungibile.

AEM as a Cloud Service fornisce pagine di errore predefinite per gli scenari di cui sopra. Si tratta di una pagina generica che non corrisponde al tuo marchio.

La pagina di errore predefinita viene servita dal tipo di servizio AEM(creazione, pubblicazione, anteprima) o dal CDN gestito da Adobe. Per ulteriori informazioni, consulta la tabella seguente.

Pagina di errore trasmessa da
Dettagli
Tipo di servizio AEM: authoring, pubblicazione, anteprima
Quando la richiesta di pagina viene servita dal tipo di servizio AEM e si verifica uno degli scenari di errore sopra riportati, la pagina di errore viene servita dal tipo di servizio AEM.
CDN gestito da Adobe
Quando la rete CDN gestita da Adobe non è in grado di raggiungere il tipo di servizio AEM (server di origine), la pagina di errore viene trasmessa dalla rete CDN gestita da Adobe. Si tratta di un evento improbabile ma per il quale vale la pena pianificare la pianificazione.

Le pagine di errore predefinite servite dal tipo di servizio AEM e dalla rete CDN gestita da Adobe, ad esempio, sono le seguenti:

Pagine errore AEM predefinite

Tuttavia, puoi personalizzare sia il tipo di servizio AEM che le pagine di errore CDN gestite da Adobe per adattarle al tuo marchio e fornire un'esperienza utente migliore.

Opzioni per personalizzare le pagine di errore

Per personalizzare le pagine di errore sono disponibili le seguenti opzioni:

Applicabile a
Nome opzione
Descrizione
Tipi di servizi AEM: pubblicazione e anteprima
Direttiva ErrorDocument
Utilizza la direttiva ErrorDocument nel file di configurazione Apache per specificare il percorso della pagina di errore personalizzata. Applicabile solo ai tipi di servizi AEM: pubblicazione e anteprima.
Tipi di servizi AEM: authoring, pubblicazione, anteprima
Gestore pagina di errore ACS AEM Commons
Utilizza il gestore della pagina di errore ACS AEM Commons per personalizzare l'errore in tutti i tipi di servizi AEM.
CDN gestito da Adobe
Pagine errore CDN
Utilizza le pagine di errore CDN per personalizzare le pagine di errore quando la rete CDN gestita da Adobe non raggiunge il tipo di servizio AEM (server di origine).

Prerequisiti

In questa esercitazione imparerai a personalizzare le pagine di errore utilizzando la direttiva ErrorDocument, il Gestore pagine di errore ACS AEM Commons e le opzioni Pagine di errore CDN. Per seguire questa esercitazione, è necessario:

Configurazione

  • Clona e implementa il progetto WKND dell’AEM nell’ambiente di sviluppo AEM locale seguendo i passaggi seguenti:

    code language-none
    # For local AEM development environment
    $ git clone git@github.com:adobe/aem-guides-wknd.git
    $ cd aem-guides-wknd
    $ mvn clean install -PautoInstallSinglePackage -PautoInstallSinglePackagePublish
    
  • Per l'ambiente AEM as a Cloud Service, distribuire il progetto WKND dell'AEM eseguendo la pipeline full stack. Vedere l'esempio pipeline non di produzione.

  • Verifica che il rendering delle pagine del sito WKND sia corretto.

ErrorDocument Direttiva Apache per personalizzare le pagine di errore servite da AEM errordocument

Per personalizzare le pagine di errore fornite da AEM, utilizzare la direttiva Apache ErrorDocument.

In AEM as a Cloud Service, l'opzione di direttiva Apache ErrorDocument è applicabile solo ai tipi di servizio di pubblicazione e anteprima. Non è applicabile al tipo di servizio Author in quanto Apache + Dispatcher non fa parte dell’architettura di distribuzione.

Esaminiamo in che modo il progetto AEM WKND utilizza la direttiva Apache ErrorDocument per visualizzare pagine di errore personalizzate.

  • Il modulo ui.content.sample contiene le pagine di errore @ /content/wknd/language-masters/en/errors con marchio. Esaminali nell'ambiente AEM locale o AEM as a Cloud Service https://author-p<ID>-e<ID>.adobeaemcloud.com/ui#/aem/sites.html/content/wknd/language-masters/en/errors.

  • Il file wknd.vhost del modulo dispatcher contiene:

    code language-none
    ...
    # ErrorDocument directive in wknd.vhost file
    ErrorDocument 404 ${404_PAGE}
    ErrorDocument 500 ${500_PAGE}
    ErrorDocument 502 ${500_PAGE}
    ErrorDocument 503 ${500_PAGE}
    ErrorDocument 504 ${500_PAGE}
    
    ...
    # DispatcherPassError value in wknd.vhost file
    <IfModule disp_apache2.c>
        ...
        DispatcherPassError        1
    </IfModule>
    
    # Custom error pages path in custom.vars file
    Define 404_PAGE /content/wknd/us/en/errors/404.html
    Define 500_PAGE /content/wknd/us/en/errors/500.html
    ...
    
  • Rivedi le pagine di errore personalizzate del sito WKND immettendo un nome o un percorso di pagina errato nell'ambiente, ad esempio https://publish-p105881-e991000.adobeaemcloud.com/us/en/foo/bar.html.

Gestore pagine ACS AEM Commons-Error per personalizzare le pagine di errore servite da AEM acs-aem-commons

Per personalizzare le pagine degli errori AEM servite in tutti i tipi di servizi AEM, è possibile utilizzare l'opzione Gestione pagine errori AEM Commons ACS.

. Per istruzioni dettagliate, consulta la sezione Come utilizzare.

Pagine di errore CDN per personalizzare le pagine di errore CDN distribuite cdn-error-pages

Per personalizzare le pagine di errore servite dalla rete CDN gestita dall’Adobe, utilizza l’opzione Pagine di errore CDN.

Implementiamo le pagine di errore CDN per personalizzare le pagine di errore quando la rete CDN gestita da Adobe non può raggiungere il tipo di servizio AEM (server di origine).

IMPORTANT
Il CDN gestito da Adobe non può raggiungere il tipo di servizio AEM (server di origine) è un evento improbabile per il quale vale la pena pianificare la connessione.

I passaggi di alto livello per implementare le pagine di errore CDN sono:

  • Sviluppa un contenuto personalizzato per la pagina degli errori come applicazione a pagina singola (SPA).
  • Ospita i file statici necessari per la pagina di errore CDN in una posizione accessibile al pubblico.
  • Configura la regola CDN (errorPages) e fai riferimento ai file statici di cui sopra.
  • Distribuisci la regola CDN configurata nell’ambiente AEM as a Cloud Service utilizzando la pipeline Cloud Manager.
  • Verifica le pagine di errore CDN.

Panoramica delle pagine di errore CDN

La pagina di errore CDN viene implementata come applicazione a pagina singola (SPA) dalla rete CDN gestita da Adobe. Il documento SPA HTML consegnato dalla rete CDN gestita dall’Adobe contiene il frammento minimo di HTML. Il contenuto personalizzato della pagina di errore viene generato in modo dinamico utilizzando un file JavaScript. Il file JavaScript deve essere sviluppato e ospitato in una posizione accessibile al pubblico dal cliente.

Il frammento di codice HTML distribuito dalla rete CDN gestita da Adobe ha la seguente struttura:

<!DOCTYPE html>
<html lang="en">
  <head>

    ...

    <title>{title}</title>
    <link rel="icon" href="{icoUrl}">
    <link rel="stylesheet" href="{cssUrl}">
  </head>
  <body>
    <script src="{jsUrl}"></script>
  </body>
</html>

Il frammento di HTML contiene i segnaposto seguenti:

  1. jsUrl: URL assoluto del file JavaScript per il rendering del contenuto della pagina di errore mediante la creazione dinamica di elementi HTML.
  2. cssUrl: l'URL assoluto del file CSS per assegnare uno stile al contenuto della pagina di errore.
  3. icoUrl: URL assoluto del favicon.

Sviluppare una pagina di errore personalizzata

Sviluppiamo il contenuto della pagina di errore con marchio WKND come applicazione a pagina singola (SPA).

A scopo dimostrativo, utilizziamo React, tuttavia puoi utilizzare qualsiasi framework o libreria JavaScript.

  • Creare un nuovo progetto React eseguendo il comando seguente:

    code language-none
    $ npx create-react-app aem-cdn-error-page
    
  • Apri il progetto nel tuo editor di codice preferito e aggiorna i seguenti file:

    • src/App.js: è il componente principale che esegue il rendering del contenuto della pagina di errore.

      code language-javascript
      import logo from "./wknd-logo.png";
      import "./App.css";
      
      function App() {
        return (
          <>
            <div className="App">
              <div className="container">
              <img src={logo} className="App-logo" alt="logo" />
              </div>
            </div>
            <div className="container">
              <div className="error-code">CDN Error Page</div>
              <h1 className="error-message">Ruh-Roh! Page Not Found</h1>
              <p className="error-description">
                We're sorry, we are unable to fetch this page!
              </p>
            </div>
          </>
        );
      }
      
      export default App;
      
    • src/App.css: applicare lo stile al contenuto della pagina di errore.

      code language-css
      .App {
        text-align: left;
      }
      
      .App-logo {
        height: 14vmin;
        pointer-events: none;
      }
      
      
      body {
        margin-top: 0;
        padding: 0;
        font-family: Arial, sans-serif;
        background-color: #fff;
        color: #333;
        display: flex;
        justify-content: center;
        align-items: center;
      }
      
      .container {
        text-align: letf;
        padding-top: 10px;
      }
      
      .error-code {
        font-size: 4rem;
        font-weight: bold;
        color: #ff6b6b;
      }
      
      .error-message {
        font-size: 2.5rem;
        margin-bottom: 10px;
      }
      
      .error-description {
        font-size: 1rem;
        margin-bottom: 20px;
      }
      
    • Aggiungere il file wknd-logo.png alla cartella src. Copia il file come wknd-logo.png.

    • Aggiungere il file favicon.ico alla cartella public. Copia il file come favicon.ico.

    • Verifica il contenuto della pagina di errore CDN con marchio WKND eseguendo il progetto:

      code language-none
      $ npm start
      

      Apri il browser e passa a http://localhost:3000/ per visualizzare il contenuto della pagina di errore CDN.

    • Crea il progetto per generare i file statici:

      code language-none
      $ npm run build
      

      I file statici vengono generati nella cartella build.

In alternativa, puoi scaricare il file aem-cdn-error-page.zip contenente i file di progetto React precedenti.

Quindi, ospitare i file statici di cui sopra in una posizione accessibile al pubblico.

Pagina Host: file statici necessari per errore CDN

Ospitiamo i file statici nell’archiviazione BLOB di Azure. Tuttavia, puoi utilizzare qualsiasi servizio di hosting di file statico come Netlify, Vercel o AWS S3.

  • Segui la documentazione ufficiale di Azure Blob Storage per creare un contenitore e caricare i file statici.

    note important
    IMPORTANT
    Se utilizzi altri servizi di hosting di file statici, segui la relativa documentazione per ospitare i file statici.
  • Assicurati che i file statici siano accessibili al pubblico. Le impostazioni dell’account di archiviazione specifico per la demo WKND sono le seguenti:

    • Nome account di archiviazione: aemcdnerrorpageresources
    • Nome contenitore: static-files

    Archiviazione BLOB di Azure

  • Nel contenitore superiore a static-files, vengono caricati i file di seguito della cartella build:

Quindi, configura la regola CDN (errorPages) e fai riferimento ai file statici di cui sopra.

Configurare la regola CDN

Configuriamo la regola CDN errorPages che utilizza i file statici di cui sopra per eseguire il rendering del contenuto della pagina di errore CDN.

  1. Aprire il file cdn.yaml dalla cartella principale config del progetto AEM. Ad esempio, il file cdn.yaml🔗 del progetto WKND.

  2. Aggiungi la seguente regola CDN al file cdn.yaml:

    code language-yaml
    kind: "CDN"
    version: "1"
    metadata:
      envTypes: ["dev", "stage", "prod"]
    data:
      # The CDN Error Page configuration.
      # The error page is displayed when the Adobe-managed CDN is unable to reach the origin server.
      # It is implemented as a Single Page Application (SPA) and WKND branded content must be generated dynamically using the JavaScript file
      errorPages:
        spa:
          title: Adobe AEM CDN Error Page # The title of the error page
          icoUrl: https://aemcdnerrorpageresources.blob.core.windows.net/static-files/favicon.ico # The PUBLIC URL of the favicon
          cssUrl: https://aemcdnerrorpageresources.blob.core.windows.net/static-files/error.css # The PUBLIC URL of the CSS file
          jsUrl: https://aemcdnerrorpageresources.blob.core.windows.net/static-files/error.js # The PUBLIC URL of the JavaScript file
    
  3. Salva, conferma e invia le modifiche all’archivio Adobe a monte.

Distribuire la regola CDN

Infine, distribuisci la regola CDN configurata nell’ambiente AEM as a Cloud Service utilizzando la pipeline Cloud Manager.

  1. In Cloud Manager, passa alla sezione Pipeline.

  2. Crea una nuova pipeline o seleziona la pipeline esistente che distribuisce solo i file Config. Per i passaggi dettagliati, vedere Creare una pipeline di configurazione.

  3. Fai clic sul pulsante Esegui per distribuire la regola CDN.

Distribuisci regola CDN

Verifica le pagine di errore CDN

Per verificare le pagine di errore CDN, effettua le seguenti operazioni:

  • Apri il browser e passa all'URL dell'ambiente Publish, aggiungi cdnstatus?code=404 all'URL, ad esempio https://publish-p105881-e991000.adobeaemcloud.com/cdnstatus?code=404, oppure accedi utilizzando l'URL di dominio personalizzato

    WKND - Pagina errore CDN

  • I codici supportati sono: 403, 404, 406, 500 e 503.

  • Verifica la scheda di rete del browser per visualizzare i file statici caricati dall’archiviazione BLOB di Azure. Il documento HTML distribuito dalla rete CDN gestita da Adobe contiene il contenuto minimo richiesto e il file JavaScript crea in modo dinamico il contenuto della pagina di errore con marchio.

    Scheda Rete della pagina di errore CDN

In questo tutorial hai imparato quali sono le pagine di errore predefinite, da dove vengono distribuite le pagine di errore, e le opzioni per personalizzare le pagine di errore. Hai imparato a implementare pagine di errore personalizzate utilizzando le opzioni ACS AEM Commons Error Page Handler, ErrorDocument Apache e CDN Error Pages.

Risorse aggiuntive

recommendation-more-help
4859a77c-7971-4ac9-8f5c-4260823c6f69