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.clientlibsno 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:
-
Configure las acciones de caché de Dispatcher en la canalización de Cloud Manager:
-
En Cloud Manager, edite la canalización de implementación.
-
Vaya a la sección de configuración de Dispatcher y, a continuación, seleccione Configurar.
-
Añada una acción de caché con la siguiente configuración:
- Ruta de acceso:
/etc.clientlibs/<your-project>/clientlibs/<your-clientlib>/* - Tipo: Seleccione Invalidar para marcar el contenido almacenado en caché como obsoleto o Vaciar para eliminarlo.
- Ruta de acceso:
-
Seleccione Agregar ruta, Aplicar y, a continuación, guarde la configuración de la canalización.
-
Ejecute la canalización para invalidar o vaciar las rutas especificadas.
-
-
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.
- Cuando actualice archivos JavaScript o CSS estáticos, utilice nombres de archivo con versiones, como
-
Revise los
Cache-Controlencabezados:- 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
immutabledel encabezado.
- Si usa TTL de larga duración, como
-
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.
- Proporcione JavaScript y CSS a través de las bibliotecas de cliente de AEM con
-
Compruebe la actualización:
- Una vez finalizada la ejecución de la canalización, acceda a la URL del recurso actualizada.
- Confirme que el recurso contiene los cambios más recientes.
- Revise los encabezados de respuesta para comprobar el comportamiento esperado del almacenamiento en caché.