Contrôlez la durée de mise en CloudFront cache des erreurs - Amazon CloudFront

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Contrôlez la durée de mise en CloudFront cache des erreurs

CloudFront met en cache les réponses aux erreurs pendant une durée par défaut de 10 secondes. CloudFront soumet ensuite la demande suivante pour l'objet à votre origine pour voir si le problème à l'origine de l'erreur a été résolu et si l'objet demandé est disponible.

Vous pouvez spécifier la durée de mise en cache des erreurs (minimum de mise en cache des erreurs) TTL pour chaque code d'état 4xx et 5xx mis en cache. CloudFront (Pour plus d’informations, consultez HTTPCodes d'état 4xx et 5xx mis en cache CloudFront .) Lorsque vous spécifiez une durée, veuillez noter les points suivants :

  • Si vous spécifiez une courte durée de mise en cache des erreurs, CloudFront vous transmettez plus de demandes à votre origine que si vous spécifiez une durée plus longue. Pour les erreurs 5xx, cela peut aggraver le problème qui a initialement amené votre origine à renvoyer une erreur.

  • Lorsque votre origine renvoie une erreur pour un objet, elle CloudFront répond aux demandes concernant l'objet soit par la réponse d'erreur, soit par votre page d'erreur personnalisée jusqu'à expiration de la durée de mise en cache des erreurs. Si vous spécifiez une longue durée de mise en cache des erreurs, vous CloudFront pouvez continuer à répondre aux demandes avec une réponse d'erreur ou votre page d'erreur personnalisée pendant une longue période une fois que l'objet sera de nouveau disponible.

Note

Vous pouvez créer une page d'erreur personnalisée pour le code de HTTP statut 416 (plage demandée non satisfaisante), et vous pouvez modifier le code de HTTP statut qui est CloudFront renvoyé aux spectateurs lorsque votre origine renvoie un code de statut 416 à CloudFront. (Pour plus d’informations, consultez Modifier les codes de réponse renvoyés par CloudFront.) Cependant, CloudFront ne met pas en cache les réponses du code d'état 416, donc même si vous spécifiez une valeur pour Error Caching Minimum TTL pour le code d'état 416, il CloudFront ne l'utilise pas.

Si vous souhaitez contrôler la durée de mise en CloudFront cache des erreurs pour des objets individuels, vous pouvez configurer votre serveur d'origine pour ajouter l'en-tête applicable à la réponse d'erreur pour cet objet.

Si l'origine ajoute une Cache-Control: s-maxage directive Cache-Control: max-age ou, ou un Expires en-tête, met en CloudFront cache les réponses d'erreur pour la valeur la plus élevée entre la valeur de l'en-tête ou le minimum d'erreurs de mise en cache. TTL

Note

Les Cache-Control: s-maxage valeurs Cache-Control: max-age et ne peuvent pas être supérieures à la TTL valeur maximale définie pour le comportement du cache pour lequel la page d'erreur est extraite.

Si l'origine ajoute d'autres Cache-Control directives ou n'ajoute aucun en-tête, met en CloudFront cache les réponses d'erreur pour la valeur Error Caching Minimum. TTL

Si le délai d'expiration d'un code d'état 4xx ou 5xx pour un objet est plus long que vous ne le souhaitez et que l'objet est de nouveau disponible, vous pouvez invalider le code d'erreur mis en cache en utilisant URL l'objet demandé. Si votre origine renvoie une réponse d'erreur pour plusieurs objets, vous devez invalider chaque objet séparément. Pour en savoir plus sur l'invalidation d'objets, consultez Invalider des fichiers pour supprimer du contenu.