¿Por qué Amazon CloudFront no almacena los archivos en la caché durante el periodo de tiempo que he especificado?

3 minutos de lectura
0

Quiero especificar el tiempo que mi distribución de Amazon CloudFront almacena los objetos en la caché, por lo que he agregado los encabezados Cache-Control o Expires en el origen. Sin embargo, CloudFront no almacena los objetos en la caché durante el periodo de tiempo que he especificado o CloudFront no almacena nada en la caché.

Resolución

Confirme que las directivas que ha definido en los encabezados Cache-Control o Expires no entran en conflicto entre sí. Se recomienda utilizar la directiva Cache-Control max-age en vez del encabezado Expires. Si especifica valores para ambos, CloudFront utilizará solo el valor que haya establecido para Cache-Control max-age.

Compruebe que los valores que ha definido de TTL mínimo, TTL predeterminado y TTL máximo en la distribución de CloudFront no entren en conflicto con los encabezados Cache-Control o Expires.

Si estas configuraciones de la duración del almacenamiento en la caché entran en conflicto entre sí, es posible que CloudFront no almacene los objetos en la caché durante el tiempo establecido o que CloudFront no almacene nada en la caché. Evite estos ejemplos de configuración de la duración del almacenamiento en la caché que entran en conflicto entre sí:

  • El TTL máximo se ha establecido en 5 minutos (300 segundos), mientras que el encabezado Cache-Control max-age está establecido en 1 hora (3600 segundos). En este caso, CloudFront almacena el objeto en la caché durante 5 minutos en lugar de 1 hora.
  • El encabezado Cache-Control max-age se ha establecido en 3 horas, mientras que el encabezado Expires está establecido en 1 mes. En este caso, CloudFront almacena el objeto en la caché durante 3 horas en lugar de 1 mes.
  • El TTL predeterminado, mínimo y máximo se ha establecido en 0 segundos. En este caso, CloudFront siempre verifica si tiene el contenido más reciente del origen.
  • El TTL mínimo está establecido en 60 segundos, el TTL predeterminado en 300 segundos y el TTL máximo en 3600 segundos. Si el origen no proporciona encabezados de caché, como Cache-Control max-age o Expires, CloudFront almacenará el objeto en la caché durante el TTL predeterminado.

Importante: Si actualiza un activo de origen con un encabezado de almacenamiento en la caché, CloudFront no reflejará el cambio hasta que CloudFront realice una nueva solicitud a su origen. CloudFront realiza una nueva solicitud a su origen cuando el activo almacenado en la caché vence en las ubicaciones periféricas. En ese momento, su distribución recibe una nueva solicitud en relación con el activo. Para que CloudFront refleje la actualización antes de que venza el activo almacenado en la caché, anule la validez de la caché.

Información relacionada

Almacenamiento de objetos en la caché

Administración de cuánto tiempo se mantiene el contenido en una caché (vencimiento)

Control de cuánto tiempo CloudFront almacena los errores en caché

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 8 meses