Aangepaste foutpagina's

Leer hoe u aangepaste foutpagina's implementeert voor uw door AEM as a Cloud Service gehoste website.

In deze zelfstudie leert u:

  • Standaardfoutpagina's

  • Vanaf waar de foutpagina's worden weergegeven

    • AEM servicetype - auteur, publiceren, voorvertoning
    • CDN met beheerde Adobe
  • Opties om foutpagina's aan te passen

    • ErrorDocument Apache, instructie
    • ACS AEM Commons - de Handler van de foutenpagina
    • CDN-foutpagina's

Standaardfoutpagina's

Laten we controleren wanneer foutpagina's worden weergegeven, standaardfoutpagina's en waar ze vandaan komen.

Foutpagina's worden weergegeven wanneer:

  • pagina bestaat niet (404)
  • niet bevoegd om een pagina te openen (403)
  • serverfout (500) vanwege codeproblemen of de server is niet bereikbaar.

AEM as a Cloud Service verstrekt standaardfoutenpagina's voor de bovengenoemde scenario's. Het is een algemene pagina en komt niet overeen met uw merk.

De standaardfoutenpagina wordt gediend van het AEM diensttype (auteur, publiceert, voorproef) of van Adobe-geleide CDN. Zie de onderstaande tabel voor meer informatie.

Foutpagina aangeboden door
Details
AEM servicetype - auteur, publiceren, voorvertoning
Wanneer het paginaverzoek door het AEM de diensttype wordt gediend en om het even welke bovengenoemde foutenscenario's voorkomen, wordt de foutenpagina gediend van het AEM de diensttype.
CDN met beheerde Adobe
Wanneer Adobe-geleide CDN niet het AEM diensttype (oorsprongserver) kan bereiken, wordt de foutenpagina gediend van Adobe-geleide CDN. het is een onwaarschijnlijke gebeurtenis maar de moeite waard om voor te plannen.

Bijvoorbeeld, zijn de standaardfoutenpagina's die van het de diensttype en Adobe-beheerde CDN worden gediend als volgt:

Standaard AEM de Paginas van de Fout

Nochtans, kunt u zowel AEM diensttype als Adobe-beheerde CDN foutenpagina's aanpassen om uw merk aan te passen en een betere gebruikerservaring te verstrekken.

Opties om foutpagina's aan te passen

De volgende opties zijn beschikbaar om foutpagina's aan te passen:

Van toepassing op
Naam van optie
Beschrijving
AEM servicetypen - publiceren en voorvertonen
ErrorDocument, instructie
Gebruik de ErrorDocumentrichtlijn in het Apache configuratiedossier om de weg aan de pagina van de douanefout te specificeren. Alleen van toepassing op de AEM servicetypen - publiceren en voorvertonen.
AEM servicetypen - auteur, publiceren, voorvertoning
ACS AEM Commons-foutpaginahandler
Gebruik ACS AEM de Handler van de Pagina van de Fout van Commons 1} om fout over alle AEM de diensttypes aan te passen.
CDN met beheerde Adobe
CDN-foutpagina's
Gebruik de CDN foutenpagina's om de foutenpagina's aan te passen wanneer Adobe-geleide CDN niet het de diensttype van de AEM (oorsprongserver) kan bereiken.

Vereisten

In dit leerprogramma, leert u hoe te om foutenpagina's aan te passen gebruikend de ErrorDocument richtlijn, ACS AEM de Behandelaar van de Pagina van de Fout van de Commons en de CDN pagina's van de Fout opties. Voor het volgen van deze zelfstudie hebt u het volgende nodig:

  • De lokale AEM ontwikkelomgevingof het milieu van AEM as a Cloud Service. De CDN optie van de Pagina's van de Fout is toepasselijk op het milieu van AEM as a Cloud Service.

  • Het AEM project WKNDom foutenpagina's aan te passen.

Instellen

  • Klonen en het AEM WKND-project implementeren in uw lokale AEM ontwikkelomgeving door de onderstaande stappen uit te voeren:

    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
    
  • Voor het milieu van AEM as a Cloud Service, stel het AEM WKND- project door de volledig-stapelpijpleidingin werking te stellen, zie de niet-productiepijpleidingvoorbeeld.

  • Controleer of de WKND-sitepagina's correct worden weergegeven.

ErrorDocument Apache instructie to customize AEM serving error pages errordocument

Met de Apache-instructie ErrorDocument kunt u pagina's met AEM fouten aanpassen.

In AEM as a Cloud Service is de Apache-instructie-optie ErrorDocument alleen van toepassing op de servicetypen Publiceren en Voorvertonen. Het is niet van toepassing op het type van de auteursdienst aangezien Apache + Dispatcher geen deel van de plaatsingsarchitectuur uitmaakt.

Laten wij herzien hoe het AEM WKNDproject de ErrorDocument richtlijn Apache gebruikt om de pagina's van de douanefout te tonen.

  • De ui.content.sample module bevat de brandde foutenpagina's@ /content/wknd/language-masters/en/errors. Herzie hen in uw lokale AEMof milieu van AEM as a Cloud Service https://author-p<ID>-e<ID>.adobeaemcloud.com/ui#/aem/sites.html/content/wknd/language-masters/en/errors.

  • Het bestand wknd.vhost van de module dispatcher bevat:

    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
    ...
    
  • Herzie de pagina's van de douanefout van de plaats WKND door een onjuiste paginanaam of een weg in uw milieu in te gaan, bijvoorbeeld https://publish-p105881-e991000.adobeaemcloud.com/us/en/foo/bar.html.

ACS AEM Commons-Fout de Handler van de Pagina om AEM gediende foutenpagina's aan te passen acs-aem-commons

Om AEM gediende foutenpagina's over aan te passen alle AEM de diensttypes, kunt u de ACS AEM de Handler van de Pagina van de Fout van de Opdrachten van de Opdrachtoptie gebruiken.

. Voor gedetailleerde geleidelijke instructies, zie hoe tesectie gebruiken.

CDN-foutpagina's om door CDN bediende foutpagina's aan te passen cdn-error-pages

Om foutenpagina's aan te passen die door Adobe-geleide CDN worden gediend, gebruik de CDN foutenpagina's optie.

Laten wij CDN foutenpagina's uitvoeren om foutenpagina's aan te passen wanneer Adobe-geleide CDN niet het AEM diensttype (oorsprongserver) kan bereiken.

IMPORTANT
Adobe-geleide CDN kan niet het AEM diensttype (oorsprongserver) bereiken is een onwaarschijnlijke gebeurtenis maar de moeite waard van planning voor.

De stappen op hoog niveau voor het implementeren van CDN-foutpagina's zijn:

  • Ontwikkelen van een aangepaste pagina met foutpagina-inhoud als een toepassing voor één pagina (SPA).
  • Host de statische dossiers die voor de CDN foutenpagina worden vereist in een openbaar toegankelijke plaats.
  • Configureer de CDN-regel (errorPages) en verwijs naar de bovenstaande statische bestanden.
  • Stel de gevormde CDN regel aan het milieu van AEM as a Cloud Service op gebruikend de pijpleiding van Cloud Manager.
  • Test de CDN-foutpagina's.

Overzicht van CDN-foutpagina's

De CDN foutenpagina wordt uitgevoerd als Enige Toepassing van de Pagina (SPA) door Adobe-geleide CDN. Het SPA document van de HTML dat door Adobe-beheerde CDN wordt geleverd bevat het absolute minimum HTML fragment. De inhoud van de aangepaste foutpagina wordt dynamisch gegenereerd met een JavaScript-bestand. Het JavaScript-bestand moet door de klant worden ontwikkeld en gehost op een openbaar toegankelijke locatie.

Het fragment van HTML dat door Adobe-beheerde CDN wordt geleverd heeft de volgende structuur:

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

Het HTML-fragment bevat de volgende plaatsaanduidingen:

  1. jsUrl: De absolute URL van het dossier van JavaScript om de inhoud van de foutenpagina terug te geven door HTML elementen dynamisch te creëren.
  2. cssUrl: De absolute URL van het CSS dossier om de inhoud van de foutenpagina te stileren.
  3. icoUrl: Absolute URL van het favicon.

Een aangepaste foutpagina ontwikkelen

Laten we de inhoud van de WKND-pagina met specifieke foutmeldingen ontwikkelen als een toepassing voor één pagina (SPA).

Voor demodoeleinden, laten wij gebruiken Reageren, echter, kunt u om het even welk kader of bibliotheek van JavaScript gebruiken.

  • Creeer een nieuw React project door het volgende bevel in werking te stellen:

    code language-none
    $ npx create-react-app aem-cdn-error-page
    
  • Open het project in uw favoriete code redacteur en werk de hieronder dossiers bij:

    • src/App.js: het is de hoofdcomponent die de inhoud van de foutpagina 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: maak de inhoud van de foutpagina op.

      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;
      }
      
    • Voeg het bestand wknd-logo.png toe aan de map src . Kopieer het dossierals wknd-logo.png.

    • Voeg het bestand favicon.ico toe aan de map public . Kopieer het dossierals favicon.ico.

    • Verifieer de van het brandmerk CDN van WKND de inhoud van de foutenpagina door het project in werking te stellen:

      code language-none
      $ npm start
      

      Open de browser en navigeer naar http://localhost:3000/ om de inhoud van de CDN-foutpagina te bekijken.

    • Bouw het project om de statische dossiers te produceren:

      code language-none
      $ npm run build
      

      De statische bestanden worden gegenereerd in de map build .

Alternatief, kunt u het {🔗 dossier downloaden 0} aem-cdn-error-page.zip dat de bovengenoemde projectdossiers van React bevat.

Vervolgens host u de bovenstaande statische bestanden op een openbaar toegankelijke locatie.

Statische bestanden van host vereist voor CDN-foutpagina

Laten we de statische bestanden hosten in Azure Blob Storage. Nochtans, kunt u om het even welk statisch dossier gebruiken die de dienst als ontvangen, Vercel, of AWS S3.

  • Volg de officiële Azure Blokopslagdocumentatie om een container te creëren en de statische dossiers te uploaden.

    note important
    IMPORTANT
    Als u andere statische diensten van het dossierontvangen gebruikt, volg hun documentatie om de statische dossiers te ontvangen.
  • Zorg ervoor dat de statische bestanden openbaar toegankelijk zijn. Mijn WKND-demo-specifieke instellingen voor opslagaccounts zijn als volgt:

    • de Naam van de Rekening van de Opslag: aemcdnerrorpageresources
    • Naam van de Container: static-files

    Azure Blob Storage

  • In de container boven static-files worden de onderstaande bestanden uit de map build geüpload:

    • error.js: Het build/static/js/main.<hash>.js dossier wordt anders genoemd aan error.js en openbaar toegankelijk.
    • error.css: Het build/static/css/main.<hash>.css dossier wordt anders genoemd aan error.css en openbaar toegankelijk.
    • favicon.ico: Het build/favicon.ico dossier wordt geupload zoals is en openbaar toegankelijk.

Vervolgens configureert u de CDN-regel (errorPages) en verwijst u naar de bovenstaande statische bestanden.

De CDN-regel configureren

Configureer de CDN-regel errorPages die de bovenstaande statische bestanden gebruikt om de inhoud van de CDN-foutpagina weer te geven.

  1. Open het bestand cdn.yaml vanuit de hoofdmap config van het AEM project. Bijvoorbeeld, het {🔗 dossier 1} van cdn.yaml van het 0} WKND-project.

  2. Voeg de volgende CDN-regel toe aan het cdn.yaml -bestand:

    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. Sla de wijzigingen op, wijs deze toe en duw de wijzigingen naar de Adobe upstream in de opslagplaats.

De CDN-regel implementeren

Tot slot stel de gevormde CDN regel aan het milieu van AEM as a Cloud Service op gebruikend de pijpleiding van Cloud Manager.

  1. In Cloud Manager, navigeer aan de sectie van de Pijpleidingen.

  2. Creeer een nieuwe pijpleiding of selecteer de bestaande pijpleiding die slechts de Config dossiers opstelt. Voor gedetailleerde stappen, zie een config pijpleidingcreëren.

  3. Klik de looppas knoop om de CDN regel op te stellen.

stel CDN Regel op

CDN-foutpagina's testen

Voer de volgende stappen uit om de CDN-foutpagina's te testen:

  • Open browser en navigeer aan het milieu URL van Publish, voeg cdnstatus?code=404 aan URL toe, bijvoorbeeld, https://publish-p105881-e991000.adobeaemcloud.com/cdnstatus?code=404of toegang gebruikend douanedomein URL

    WKND - CDN de Pagina van de Fout

  • De volgende codes worden ondersteund: 403, 404, 406, 500 en 503.

  • Controleer het tabblad van het browsernetwerk om te zien hoe de statische bestanden worden geladen van de Azure Blob-opslag. Het document van HTML dat door Adobe-beheerde CDN wordt geleverd bevat de volledige minimuminhoud en het dossier van JavaScript leidt dynamisch tot de branded inhoud van de foutenpagina.

    CDN het Lusje van het Netwerk van de Foutpagina van het Netwerk van de Pagina

Samenvatting

In deze zelfstudie hebt u meer geleerd over standaardfoutpagina's, waar de foutpagina's vandaan komen, en over opties voor het aanpassen van foutpagina's. U hebt geleerd hoe u aangepaste foutpagina's kunt implementeren met de opties ErrorDocument Apache, ACS AEM Commons Error Page Handler en CDN Error Pages .

Aanvullende bronnen

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