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

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

CloudFront almacena en caché las respuestas de error durante una duración predeterminada de 10 segundos. A continuación, CloudFront envía la siguiente solicitud para el objeto al origen para ver si el problema que causó el error se ha resuelto y el objeto solicitado está disponible.

Puede especificar la duración de almacenamiento en caché de errores (Error Caching Minimum TTL [TTL mínimo de almacenamiento de errores en caché]) para cada código de estado 4xx y 5xx que CloudFront almacena en las caché. (Para obtener más información, consulte Códigos de estado HTTP 4xx y 5xx que CloudFront almacena en caché). Al especificar una duración, tenga en cuenta lo siguiente:

  • Si se especifica una duración breve de almacenamiento de errores en caché, CloudFront reenvía más solicitudes al origen que si se especifica una mayor duración. En el caso de errores 5xx, esto podría agravar el problema que causó el origen para devolver un error.

  • Cuando el origen devuelve un error por un objeto, CloudFront responde a las solicitudes de dicho objeto con la respuesta de error o con la página de error personalizada hasta que finaliza la duración de almacenamiento de errores en caché. Si especifica una duración de almacenamiento de errores en caché mayor, es posible que CloudFront continúe respondiendo a las solicitudes con una respuesta de error o la página de error personalizada durante mucho tiempo después de que el objeto vuelva a estar disponible.

nota

Puede crear una página de error personalizada para el código de estado HTTP 416 (Intervalo solicitado no puede ser satisfecho) y puede cambiar el código de estado HTTP que CloudFront proporciona a los lectores cuando el origen devuelve un código de estado 416 a CloudFront. (Para obtener más información, consulte Cambio de códigos de respuesta devueltos por CloudFront.) Sin embargo, CloudFront no almacena en caché las respuestas de los códigos de estado 416, así que, aunque especifique un valor para Error Caching Minimum TTL (TTL mínimo de almacenamiento de errores en caché) para el código de estado 416, CloudFront no lo utiliza.

Si desea controlar el tiempo durante el cual CloudFront almacena errores para objetos individuales en la caché, puede configurar el servidor de origen para añadir el encabezado aplicable a la respuesta de error para dicho objeto.

Si el origen añade una directiva Cache-Control: max-age o Cache-Control: s-maxage, o un encabezado Expires, CloudFront almacena en caché respuestas de error para el valor mayor en el encabezado o el valor de Error Caching Minimum TTL (TTL mínimo de almacenamiento de errores en caché).

nota

Los valores Cache-Control: max-age y Cache-Control: s-maxage no pueden ser mayores que el valor de Maximum TTL (TTL máximo) definido para el comportamiento de la caché para el que se está obteniendo la página de error.

Si el origen añade otras directivas Cache-Control o no añade encabezados, CloudFront almacena en caché respuestas de error para el valor de Error Caching Minimum TTL (TTL mínimo de almacenamiento de errores en caché).

Si la fecha de vencimiento de un código de estado 4xx o 5xx de un objeto es más lejana de lo que desea y el objeto está disponible nuevamente, puede invalidar el código de error almacenado en caché utilizando la URL del objeto solicitado. Si el origen devuelve una respuesta de error para varios objetos, es necesario invalidar cada uno de los objetos por separado. Para obtener más información acerca de las invalidaciones de objetos, consulte Invalidación de archivos para eliminar el contenido.