Páginas de error personalizadas

Obtenga información sobre cómo implementar páginas de error personalizadas para el sitio web alojado en AEM as a Cloud Service.

En este tutorial, aprenderá lo siguiente:

  • Páginas de error predeterminadas

  • Desde donde se muestran las páginas de error

    • AEM Tipo de servicio de: creación, publicación, previsualización
    • CDN administrado por Adobe
  • Opciones para personalizar páginas de error

    • Directiva Apache ErrorDocument
    • AEM ACS Commons - Controlador de página de error
    • Páginas de error de CDN

Páginas de error predeterminadas

Revisemos cuándo se muestran las páginas de error, las páginas de error predeterminadas y desde dónde se proporcionan.

Las páginas de error se muestran cuando:

  • la página no existe (404)
  • no está autorizado para acceder a una página (403)
  • error del servidor (500) debido a problemas de código o porque el servidor no está disponible.

AEM as a Cloud Service proporciona páginas de error predeterminadas para los escenarios anteriores. Es una página genérica y no coincide con su marca.

AEM La página de error predeterminada se proporciona desde el tipo de servicio(autor, publicación, vista previa) o desde la CDN administrada por Adobe. Consulte la tabla siguiente para obtener más detalles.

Página de error servida desde
Detalles
AEM Tipo de servicio de: creación, publicación, previsualización
AEM AEM Cuando la solicitud de página es atendida por el tipo de servicio de y se produce cualquiera de los escenarios de error anteriores, la página de error se atiende desde el tipo de servicio de.
CDN administrado por Adobe
Cuando la CDN administrada por el Adobe AEM no puede alcanzar el tipo de servicio de (servidor de origen), la página de error se proporciona desde la CDN administrada por el Adobe. Es un evento improbable, pero vale la pena planificarlo.

AEM Por ejemplo, las páginas de error predeterminadas servidas desde el tipo de servicio de y la CDN administrada por Adobe son las siguientes:

AEM Páginas de error predeterminadas de la

AEM Sin embargo, puede personalizar tanto el tipo de servicio como las páginas de error de CDN administradas por Adobe para que coincidan con su marca y proporcionen una mejor experiencia de usuario.

Opciones para personalizar páginas de error

Las siguientes opciones están disponibles para personalizar las páginas de error:

Aplicable a
Nombre de opción
Descripción
AEM Tipos de servicio de publicación y previsualización de
Directiva ErrorDocument
Utilice la directiva ErrorDocument en el archivo de configuración de Apache para especificar la ruta a la página de error personalizada. AEM Solo se aplica a los tipos de servicio de publicación: publicación y previsualización.
AEM Tipos de servicio de: creación, publicación y previsualización
AEM Controlador de página de error de ACS Commons
AEM AEM Use el Controlador de página de error de ACS Commonspara personalizar el error en todos los tipos de servicio de la.
CDN administrado por Adobe
Páginas de error de CDN
Utilice las páginas de error de CDN para personalizar las páginas de error cuando la CDN gestionada por Adobe AEM no pueda alcanzar el tipo de servicio (servidor de origen) de la red de distribución de contenido (CDN) de la red de distribución de contenido (CDN)).

Requisitos previos

AEM En este tutorial, aprenderá a personalizar las páginas de error utilizando la directiva ErrorDocument, el Controlador de páginas de error de ACS Commons y las opciones Páginas de error de CDN. Para seguir este tutorial, necesita lo siguiente:

  • AEM El entorno de desarrollo local o el entorno de AEM as a Cloud Service. La opción Páginas de error de CDN se aplica al entorno de AEM as a Cloud Service.

  • AEM El proyecto WKNDde para personalizar las páginas de error.

Configuración

  • AEM AEM Clone e implemente el proyecto WKND de local siguiendo los pasos a continuación:

    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
    
  • Para el entorno de AEM as a Cloud Service AEM, implemente el proyecto WKND de ejecutando la canalización de pila completa, vea el ejemplo de la canalización que no es de producción.

  • Compruebe que las páginas del sitio WKND se representan correctamente.

AEM Directiva Apache ErrorDocument para personalizar las páginas de error servidas de la errordocument

AEM Para personalizar páginas de error servidas, utilice la directiva ErrorDocument de Apache.

En AEM as a Cloud Service, la opción de directiva Apache ErrorDocument solo se aplica a los tipos de servicio de publicación y vista previa. No es aplicable al tipo de servicio de autor, ya que Apache + Dispatcher no forma parte de la arquitectura de implementación.

AEM Revisemos cómo el proyecto WKND utiliza la directiva ErrorDocument de Apache para mostrar las páginas de error personalizadas.

  • El módulo ui.content.sample contiene las páginas de error de marca en /content/wknd/language-masters/en/errors. AEM Revíselos en su entorno local deo de https://author-p<ID>-e<ID>.adobeaemcloud.com/ui#/aem/sites.html/content/wknd/language-masters/en/errors de AEM as a Cloud Service.

  • El archivo wknd.vhost del módulo 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
    ...
    
  • Revise las páginas de error personalizadas del sitio WKND introduciendo un nombre de página o una ruta incorrectos en su entorno, por ejemplo https://publish-p105881-e991000.adobeaemcloud.com/us/en/foo/bar.html.

AEM AEM Controlador de página de error de ACS Commons-para personalizar las páginas de error servidas acs-aem-commons

AEM AEM AEM Para personalizar las páginas de error proporcionadas en todos los tipos de servicio de la, puede usar la opción Controlador de página de error de ACS Commons.

. Para obtener instrucciones detalladas paso a paso, consulte la sección Cómo usar.

Páginas de error de CDN para personalizar las páginas de error de CDN servidas cdn-error-pages

Para personalizar las páginas de error proporcionadas por la CDN administrada por Adobe, utilice la opción Páginas de error de CDN.

Vamos a implementar páginas de error de CDN para personalizar las páginas de error cuando la CDN administrada por Adobe AEM no puede alcanzar el tipo de servicio (servidor de origen).

IMPORTANT
La CDN administrada por el Adobe AEM no puede alcanzar el tipo de servicio de la (servidor de origen) es un evento improbable, pero vale la pena planearlo.

Los pasos de alto nivel para implementar páginas de error de CDN son los siguientes:

  • SPA Desarrollar contenido de página de error personalizado como aplicación de una sola página ().
  • Aloje los archivos estáticos necesarios para la página de error de CDN en una ubicación de acceso público.
  • Configure la regla de CDN (errorPages) y haga referencia a los archivos estáticos anteriores.
  • Implemente la regla de CDN configurada en el entorno de AEM as a Cloud Service mediante la canalización de Cloud Manager.
  • Pruebe las páginas de error de CDN.

Resumen de páginas de error de CDN

SPA La página de error de CDN la implementa como aplicación de una sola página () CDN administrada por el Adobe. SPA El documento de HTML de la que entrega la CDN administrada por el Adobe contiene el mínimo fragmento de HTML. El contenido de la página de error personalizada se genera dinámicamente mediante un archivo JavaScript. El cliente debe desarrollar y alojar el archivo JavaScript en una ubicación de acceso público.

El fragmento de HTML que entrega la CDN administrada por Adobe tiene la siguiente estructura:

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

El fragmento de HTML contiene los siguientes marcadores de posición:

  1. jsUrl: URL absoluta del archivo JavaScript para procesar el contenido de la página de error creando elementos de HTML de forma dinámica.
  2. cssUrl: La dirección URL absoluta del archivo CSS para aplicar estilo al contenido de la página de error.
  3. icoUrl: La dirección URL absoluta del favicon.

Desarrollar una página de error personalizada

SPA Desarrollemos el contenido de página de error de marca específico de WKND como una aplicación de una sola página ().

Para fines de demostración, usemos React; sin embargo, puede usar cualquier módulo o biblioteca de JavaScript.

  • Cree un nuevo proyecto de React ejecutando el siguiente comando:

    code language-none
    $ npx create-react-app aem-cdn-error-page
    
  • Abra el proyecto en su editor de código favorito y actualice los siguientes archivos:

    • src/App.js: es el componente principal que procesa el contenido de la página de error.

      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: aplicar estilo al contenido de la página de error.

      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;
      }
      
    • Agregar el archivo wknd-logo.png a la carpeta src. Copie el archivo como wknd-logo.png.

    • Agregar el archivo favicon.ico a la carpeta public. Copie el archivo como favicon.ico.

    • Compruebe el contenido de la página de error de CDN con marca WKND ejecutando el proyecto:

      code language-none
      $ npm start
      

      Abra el explorador y vaya a http://localhost:3000/ para ver el contenido de la página de error de CDN.

    • Cree el proyecto para generar los archivos estáticos:

      code language-none
      $ npm run build
      

      Los archivos estáticos se generan en la carpeta build.

También puede descargar el archivo aem-cdn-error-page.zip que contiene los archivos de proyecto de React anteriores.

A continuación, aloje los archivos estáticos anteriores en una ubicación de acceso público.

Archivos estáticos de host necesarios para la página de error de CDN

Vamos a alojar los archivos estáticos en Azure Blob Storage. Sin embargo, puedes usar cualquier servicio de alojamiento de archivos estáticos como Netlify, Vercel o AWS S3.

  • Siga la documentación oficial de Azure Blob Storage para crear un contenedor y cargar los archivos estáticos.

    note important
    IMPORTANT
    Si utiliza otros servicios de alojamiento de archivos estáticos, siga su documentación para alojar los archivos estáticos.
  • Asegúrese de que los archivos estáticos sean de acceso público. Mi configuración de cuenta de almacenamiento específica de demostración de WKND es la siguiente:

    • Nombre de cuenta de almacenamiento: aemcdnerrorpageresources
    • Nombre de contenedor: static-files

    Almacenamiento de blob de Azure

  • En el contenedor superior static-files, se cargan los siguientes archivos de la carpeta build:

A continuación, configure la regla CDN (errorPages) y haga referencia a los archivos estáticos anteriores.

Configuración de la regla de CDN

Vamos a configurar la regla de CDN errorPages que utiliza los archivos estáticos anteriores para procesar el contenido de la página de error de CDN.

  1. AEM Abra el archivo cdn.yaml desde la carpeta principal config de su proyecto de la. Por ejemplo, el archivo cdn.yaml🔗 del proyecto WKND.

  2. Agregue la siguiente regla de CDN al archivo 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. Guarde, confirme e inserte los cambios en el repositorio de flujo ascendente de Adobe.

Implementación de la regla CDN

Finalmente, implemente la regla de CDN configurada en el entorno de AEM as a Cloud Service mediante la canalización de Cloud Manager.

  1. En Cloud Manager, vaya a la sección Canalizaciones.

  2. Cree una nueva canalización o seleccione la canalización existente que implemente solamente los archivos Config. Para ver los pasos detallados, consulte Crear una canalización de configuración.

  3. Haga clic en el botón Ejecutar para implementar la regla de CDN.

Implementar regla de CDN

Prueba de las páginas de error de CDN

Para probar las páginas de error de CDN, siga los siguientes pasos:

  • Abra el explorador y vaya a la URL del entorno de Publish; añada cdnstatus?code=404 a la URL, por ejemplo, https://publish-p105881-e991000.adobeaemcloud.com/cdnstatus?code=404, o acceda a través de la URL de dominio personalizado

    WKND - Página de error de CDN

  • Los códigos admitidos son: 403, 404, 406, 500 y 503.

  • Compruebe la pestaña de red del explorador para ver si los archivos estáticos se cargan desde el almacenamiento del blob de Azure. El documento del HTML entregado por la CDN administrada por Adobe contiene el contenido mínimo y el archivo JavaScript crea dinámicamente el contenido de la página de error con marca.

    Ficha Red de página de error de CDN

Resumen

En este tutorial, ha aprendido acerca de las páginas de error predeterminadas, desde las que se proporcionan las páginas de error y las opciones para personalizar las páginas de error. Ha aprendido a implementar páginas de error personalizadas utilizando la directiva Apache ErrorDocument, las opciones ACS AEM Commons Error Page Handler y CDN Error Pages.

Recursos adicionales

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