Benutzerdefinierte Fehlerseiten

Erfahren Sie, wie Sie benutzerdefinierte Fehlerseiten für Ihre von AEM as a Cloud Service gehostete Website implementieren.

In diesem Tutorial erfahren Sie mehr über:

  • Standard-Fehlerseiten

  • Von wo aus Fehlerseiten bereitgestellt werden

    • AEM-Diensttyp – author, publish, preview
    • Von Adobe verwaltetem CDN
  • Optionen zum Anpassen von Fehlerseiten

    • ErrorDocument-Apache-Anweisung
    • ACS AEM Commons – Fehlerseiten-Handler
    • CDN-Fehlerseiten

Standard-Fehlerseiten

Im Folgenden erfahren Sie mehr über die Anzeige von Fehlerseiten, Standard-Fehlerseiten und deren Herkunft.

Fehlerseiten werden angezeigt, wenn:

  • eine Seite nicht vorhanden ist (404)
  • Sie nicht berechtigt sind, auf eine Seite zuzugreifen (403)
  • ein Server-Fehler (500) aufgrund von Code-Problemen oder einem unerreichbaren Server besteht.

AEM as a Cloud Service stellt Standard-Fehlerseiten für die oben genannten Szenarien bereit. Es handelt sich um eine generische Seite, die nicht an Ihre Marke angepasst ist.

Die Standard-Fehlerseite wird vom AEM-Diensttyp (author, publish, preview) oder vom von Adobe verwalteten CDN bereitgestellt. Weitere Informationen finden Sie in der folgenden Tabelle.

Fehlerseite bereitgestellt von
Details
AEM-Diensttyp – author, publish, preview
Wenn die Seitenanfrage vom AEM-Diensttyp bereitgestellt wird und eines der oben genannten Fehlerszenarien eintritt, wird die Fehlerseite vom AEM-Diensttyp bereitgestellt.
Von Adobe verwaltetem CDN
Wenn das von Adobe verwaltete CDN den AEM Diensttyp (Herkunfts-Server) nicht erreichen kann, wird die Fehlerseite vom von Adobe verwalteten CDN bereitgestellt. Das ist ein unwahrscheinliches Ereignis, dessen Planung sich jedoch lohnt.

Die Standard-Fehlerseiten, die vom AEM-Diensttyp und vom von Adobe verwalteten CDN bereitgestellt werden, sehen beispielsweise wie folgt aus:

Standard-AEM-Fehlerseiten

Sie können jedoch sowohl die Fehlerseiten des AEM-Diensttyps als auch die des von Adobe verwalteten CDN so anpassen, dass sie zu Ihrer Marke passen und ein besseres Anwendungserlebnis zu bieten.

Optionen zum Anpassen von Fehlerseiten

Die folgenden Optionen sind zum Anpassen von Fehlerseiten verfügbar:

Anwendbar auf
Optionsname
Beschreibung
AEM-Diensttypen – publish und preview
ErrorDocument-Anweisung
Verwenden Sie die ErrorDocument-Anweisung in der Apache-Konfigurationsdatei, um den Pfad zur benutzerdefinierten Fehlerseite anzugeben. Nur auf die AEM-Diensttypen publish und preview anwendbar.
AEM-Diensttypen – author, publish, preview
Fehlerseiten-Handler von ACS AEM Commons
Verwenden Sie den Fehlerseiten-Handler von ACS AEM Commons, um Fehler über alle AEM-Diensttypen hinweg anzupassen.
Von Adobe verwaltetem CDN
CDN-Fehlerseiten
Verwenden Sie die CDN-Fehlerseiten, um die Fehlerseiten anzupassen, wenn das von Adobe verwaltete CDN den AEM-Diensttyp (Herkunfts-Server) nicht erreichen kann.

Voraussetzungen

In diesem Tutorial erfahren Sie, wie Sie Fehlerseiten mit der ErrorDocument-Anweisung, dem Fehlerseiten-Handler von ACS AEM Commons und den CDN-Fehlerseiten anpassen. Zum Durchführen dieses Tutorials benötigen Sie Folgendes:

Setup

  • Klonen Sie das AEM-WKND-Projekt und stellen Sie es in Ihrer lokalen AEM-Entwicklungsumgebung bereit, indem Sie die folgenden Schritte ausführen:

    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
    
  • Stellen Sie für die AEM as a Cloud Service-Umgebung das AEM-WKND-Projekt bereit, indem Sie die Full-Stack-Pipeline ausführen. Weitere Informationen finden Sie unter dem Beispiel produktionsfremde Pipelines.

  • Überprüfen Sie, ob die Seiten der WKND-Website korrekt gerendert werden.

ErrorDocument-Apache-Anweisung zum Anpassen der von AEM bereitgestellten Fehlerseiten errordocument

Verwenden Sie zum Anpassen der von AEM bereitgestellten Fehlerseiten die Apache-Anweisung ErrorDocument.

In AEM as a Cloud Service ist die Option der Apache-Anweisung ErrorDocument nur auf die Diensttypen publish und preview anwendbar. Sie ist nicht für den Diensttyp author anwendbar, da Apache + Dispatcher nicht Teil der Bereitstellungsarchitektur ist.

Im Folgenden erfahren Sie mehr darüber, wie das WKND-Projekt von AEM die Apache-Anweisung ErrorDocument verwendet, um benutzerdefinierte Fehlerseiten anzuzeigen.

  • Das Modul ui.content.sample enthält die Fehlerseiten mit Branding @ /content/wknd/language-masters/en/errors. Überprüfen Sie sie in Ihrer lokalen AEM- oder AEM as a Cloud Service-Umgebung https://author-p<ID>-e<ID>.adobeaemcloud.com/ui#/aem/sites.html/content/wknd/language-masters/en/errors.

  • Die Datei wknd.vhost aus dem Modul dispatcher enthält:

    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
    ...
    
  • Überprüfen Sie die benutzerdefinierten Fehlerseiten der WKND-Website, indem Sie einen falschen Seitennamen oder Pfad in Ihrer Umgebung eingeben, z. B. https://publish-p105881-e991000.adobeaemcloud.com/us/en/foo/bar.html.

Fehlerseiten-Handler von ACS AEM Commons zum Anpassen der von AEM bereitgestellten Fehlerseiten acs-aem-commons

Verwenden Sie den Fehlerseiten-Handler von ACS AEM Commons, um von AEM bereitgestellte Fehlerseiten über alle AEM-Diensttypen hinweg anzupassen.

. Detaillierte Schritt-für-Schritt-Anweisungen finden Sie im Abschnitt zur Verwendung.

CDN-Fehlerseiten zum Anpassen der vom CDN bereitgestellten Fehlerseiten cdn-error-pages

Verwenden Sie die CDN-Fehlerseiten, um die von einem von Adobe verwalteten CDN bereitgestellten Fehlerseiten anzupassen.

Implementieren Sie CDN-Fehlerseiten, um Fehlerseiten anzupassen, wenn das von Adobe verwaltete CDN den AEM-Diensttyp (Herkunfts-Server) nicht erreichen kann.

IMPORTANT
Dass das von Adobe verwaltete CDN den AEM-Diensttyp (Herkunfts-Server) nicht erreichen kann, ist ein unwahrscheinliches Ereignis, dessen Planung sich jedoch lohnt.

Die allgemeinen Schritte zur Implementierung von CDN-Fehlerseiten sind:

  • Entwickeln Sie den Inhalt einer benutzerdefinierten Fehlerseite als Single-Page-Application (SPA).
  • Hosten Sie die für die CDN-Fehlerseite erforderlichen statischen Dateien an einem öffentlich zugänglichen Speicherort.
  • Konfigurieren Sie die CDN-Regel (errorPages) und verweisen Sie auf die oben genannten statischen Dateien.
  • Stellen Sie die konfigurierte CDN-Regel mithilfe der Cloud Manager-Pipeline in der AEM as a Cloud Service-Umgebung bereit.
  • Testen Sie die CDN-Fehlerseiten.

Überblick über CDN-Fehlerseiten

Die CDN-Fehlerseite wird vom von Adobe verwalteten CDN als Single-Page-Application (SPA) implementiert. Das HTML-Dokument für die SPA, das vom von Adobe verwalteten CDN bereitgestellt wird, enthält das Mindest-HTML-Snippet. Der Inhalt der benutzerdefinierten Fehlerseite wird dynamisch mithilfe einer JavaScript-Datei generiert. Die JavaScript-Datei muss auf Kundenseite an einem öffentlich zugänglichen Speicherort entwickelt und gehostet werden.

Das vom von Adobe verwalteten CDN bereitgestellte HTML-Snippet weist die folgende Struktur auf:

<!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>

Das HTML-Snippet enthält die folgenden Platzhalter:

  1. jsUrl: Die absolute URL der JavaScript-Datei zum Rendern des Fehlerseiteninhalts durch dynamisches Erstellen von HTML-Elementen.
  2. cssUrl: Die absolute URL der CSS-Datei, um den Fehlerseiteninhalt zu gestalten.
  3. icoUrl: Die absolute URL des Favicons.

Entwickeln einer benutzerdefinierten Fehlerseite

Entwickeln wir den Inhalt der Fehlerseite mit dem Branding von WKND als Single-Page-Application (SPA).

Für Demozwecke wird React verwendet, Sie können jedoch jedes beliebige JavaScript-Framework oder eine beliebige Bibliothek verwenden.

  • Erstellen Sie ein neues React-Projekt, indem Sie den folgenden Befehl ausführen:

    code language-none
    $ npx create-react-app aem-cdn-error-page
    
  • Öffnen Sie das Projekt in Ihrem bevorzugten Code-Editor und aktualisieren Sie die folgenden Dateien:

    • src/App.js: Die Hauptkomponente, die den Fehlerseiteninhalt rendert.

      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: Formatieren Sie den Fehlerseiteninhalt.

      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;
      }
      
    • Fügen Sie die Datei wknd-logo.png dem Ordner src hinzu. Kopieren Sie die Datei als wknd-logo.png.

    • Fügen Sie die Datei favicon.ico dem Ordner public hinzu. Kopieren Sie die Datei als favicon.ico.

    • Überprüfen Sie den Inhalt der CDN-Fehlerseite mit dem Branding von WKND, indem Sie das Projekt ausführen:

      code language-none
      $ npm start
      

      Öffnen Sie den Browser und navigieren Sie zu http://localhost:3000/, um den CDN-Fehlerseiteninhalt anzuzeigen.

    • Erstellen Sie das Projekt, um die statischen Dateien zu generieren:

      code language-none
      $ npm run build
      

      Die statischen Dateien werden im Ordner build generiert.

Alternativ können Sie die Datei aem-cdn-error-page.zip mit den oben genannten React-Projektdateien herunterladen.

Als Nächstes hosten Sie die oben genannten statischen Dateien an einem öffentlich zugänglichen Speicherort.

Hosten der für CDN-Fehlerseiten erforderlichen statischen Dateien

Wir werden die statischen Dateien in Azure Blob Storage hosten. Sie können jedoch auch einen beliebigen Hosting-Dienst für statische Dateien wie Netlify, Vercel oder AWS S3 verwenden.

  • Befolgen Sie die offizielle Dokumentation zu Azure Blob Storage, um einen Container zu erstellen und die statischen Dateien hochzuladen.

    note important
    IMPORTANT
    Wenn Sie andere Hosting-Dienste für statische Dateien verwenden, befolgen Sie deren Dokumentation, um die statischen Dateien zu hosten.
  • Stellen Sie sicher, dass die statischen Dateien öffentlich zugänglich sind. Die demospezifischen Speicherkontoeinstellungen von WKND lauten wie folgt:

    • Name des Speicherkontos: aemcdnerrorpageresources
    • Name des Containers: static-files

    Azure Blob Storage

  • Im obigen Container static-files werden die folgenden Dateien aus dem Ordner build hochgeladen:

Konfigurieren Sie anschließend die CDN-Regel (errorPages) und lassen Sie sie auf die oben genannten statischen Dateien verweisen.

Konfigurieren der CDN-Regel

Jetzt konfigurieren wir die CDN-Regel errorPages, die die oben genannten statischen Dateien verwendet, um den CDN-Fehlerseiteninhalt zu rendern.

  1. Öffnen Sie die Datei cdn.yaml im Hauptordner config Ihres AEM-Projekts. Beispielsweise die Datei cdn.yaml des WKND-Projekts.

  2. Fügen Sie der Datei cdn.yaml die folgende CDN-Regel hinzu:

    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. Speichern, übertragen und pushen Sie die Änderungen in das vorgelagerte Adobe-Repository.

Bereitstellen der CDN-Regel

Stellen Sie schließlich die konfigurierte CDN-Regel mithilfe der Cloud Manager-Pipeline in der AEM as a Cloud Service-Umgebung bereit.

  1. Navigieren Sie in Cloud Manager zum Abschnitt Pipelines .

  2. Erstellen Sie eine neue Pipeline oder wählen Sie die vorhandene Pipeline aus, die nur die Config-Dateien bereitstellt. Ausführliche Anweisungen finden Sie unter Erstellen einer Konfigurations-Pipeline.

  3. Klicken Sie auf die Schaltfläche Ausführen , um die CDN-Regel bereitzustellen.

Bereitstellen der CDN-Regel

Testen der CDN-Fehlerseiten

Führen Sie folgende Schritte aus, um die CDN-Fehlerseiten zu testen:

  • Öffnen Sie den Browser und navigieren Sie zur URL der Veröffentlichungsumgebung. Hängen Sie cdnstatus?code=404 an die URL an, z. B. https://publish-p105881-e991000.adobeaemcloud.com/cdnstatus?code=404, oder greifen Sie über die URL der benutzerdefinierten Domain zu.

    WKND – CDN-Fehlerseite

  • Folgende Codes werden unterstützt: 403, 404, 406, 500 und 503.

  • Überprüfen Sie die Registerkarte „Netzwerk“ des Browsers, um zu sehen, wie die statischen Dateien aus dem Azure Blob Storage geladen werden. Das vom von Adobe verwalteten CDN bereitgestellte HTML-Dokument enthält den Mindestinhalt, und die JavaScript-Datei erstellt dynamisch den Inhalt der Fehlerseite mit Branding.

    CDN-Fehlerseite – Registerkarte „Netzwerk“

Zusammenfassung

In diesem Tutorial haben Sie mehr über Standard-Fehlerseiten und Optionen zum Anpassen von Fehlerseiten erfahren und wissen jetzt, von wo Fehlerseiten bereitgestellt werden. Sie haben erfahren, wie Sie benutzerdefinierte Fehlerseiten mithilfe der Apache-Anweisung ErrorDocument sowie der Optionen ACS AEM Commons Error Page Handler und CDN Error Pages implementieren.

Zusätzliche Ressourcen

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