Invalidar la caché de Dispatcher para los recursos actualizados de /etc.clientlibs en AEM as a Cloud Service

Este artículo explica cómo asegurarse de que los recursos estáticos actualizados en /etc.clientlibs se proporcionen después de la implementación en Adobe Experience Manager as a Cloud Service mediante la configuración de las acciones de caché de Dispatcher y el uso de técnicas de eliminación de caché.

Descripción description

Entorno

Adobe Experience Manager as a Cloud Service (AEMaaCS) (todas las versiones)

Síntomas

  • Los recursos estáticos actualizados, como los archivos de JavaScript, en /etc.clientlibs no aparecen inmediatamente después de la implementación.
  • Los navegadores, Dispatcher o la red de distribución de contenido (CDN) siguen usando versiones anteriores de los archivos.

Causa

Las cachés de Dispatcher y CDN conservan los recursos estáticos con encabezados de caché de larga duración a menos que los invalide o vacíe. Las implementaciones de Cloud Manager no borran automáticamente estas cachés para /etc.clientlibs a menos que configure las acciones de la caché. Para propagar actualizaciones inmediatamente, utilice la anulación de caché basada en URL.

Resolución resolution

Siga estos pasos para resolver el problema:

  1. Configure las acciones de caché de Dispatcher en la canalización de Cloud Manager:

    1. En Cloud Manager, edite la canalización de implementación.

    2. Vaya a la sección de configuración de Dispatcher y, a continuación, seleccione Configurar.

    3. Añada una acción de caché con la siguiente configuración:

      1. Ruta de acceso: /etc.clientlibs/<your-project>/clientlibs/<your-clientlib>/*
      2. Tipo: Seleccione Invalidar para marcar el contenido almacenado en caché como obsoleto o Vaciar para eliminarlo.
    4. Seleccione Agregar ruta, Aplicar y, a continuación, guarde la configuración de la canalización.

    5. Ejecute la canalización para invalidar o vaciar las rutas especificadas.

  2. Utilice la anulación de caché basada en URL para los recursos estáticos:

    • Cuando actualice archivos JavaScript o CSS estáticos, utilice nombres de archivo con versiones, como swiper-bundle-v14.min.js.
    • También puede anexar un parámetro de consulta, como swiper-bundle.min.js?v=20240819.
    • Cambiar la dirección URL garantiza que Dispatcher y la CDN traten el archivo actualizado como un nuevo recurso.
  3. Revise los Cache-Control encabezados:

    • Si usa TTL de larga duración, como max-age=31536000, immutable, cree versiones de las direcciones URL del recurso.
    • Si no cambia las direcciones URL, use TTL más cortos y elimine immutable del encabezado.
  4. Proporcione bibliotecas de cliente a través del proxy:

    • Proporcione JavaScript y CSS a través de las bibliotecas de cliente de AEM con allowProxy=true.
    • Evite codificar direcciones URL sin procesar como /etc.clientlibs/.../resources/*.js.
  5. Compruebe la actualización:

    1. Una vez finalizada la ejecución de la canalización, acceda a la URL del recurso actualizada.
    2. Confirme que el recurso contiene los cambios más recientes.
    3. Revise los encabezados de respuesta para comprobar el comportamiento esperado del almacenamiento en caché.
recommendation-more-help
experience-cloud-kcs-help-kbarticles