Création d'une page d'erreur personnalisée pour des codes d'HTTPétat spécifiques - 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.

Création d'une page d'erreur personnalisée pour des codes d'HTTPétat spécifiques

Si vous préférez afficher un message d'erreur personnalisé au lieu du message par défaut (par exemple, une page qui utilise le même format que le reste de votre site Web), vous pouvez demander à l'utilisateur de CloudFront renvoyer un objet (tel qu'un HTML fichier) contenant votre message d'erreur personnalisé.

Pour spécifier le fichier que vous souhaitez renvoyer et les erreurs pour lesquelles le fichier doit être renvoyé, vous mettez à jour votre CloudFront distribution pour spécifier ces valeurs. Pour de plus amples informations, veuillez consulter Configurer le comportement de réponse aux erreurs.

Par exemple, voici une page d'erreur personnalisée :

Capture d'écran d'un exemple de page AWS 404 personnalisée.

Vous pouvez spécifier un objet différent pour chaque code d'HTTPétat pris en charge, ou vous pouvez utiliser le même objet pour tous les codes d'état pris en charge. Vous pouvez choisir de spécifier des pages d'erreur personnalisées pour certains codes d'état et pas d'autres.

Les objets que vous servez CloudFront peuvent être indisponibles pour diverses raisons. Ces raisons se divisent en deux grandes catégories :

  • Les erreurs client indiquent un problème lié à la demande. Par exemple, un objet portant le nom spécifié n'est pas disponible, ou l'utilisateur ne dispose pas des autorisations requises pour obtenir un objet dans votre compartiment Amazon S3. Lorsqu'une erreur client se produit, l'origine renvoie un code d'HTTPétat compris entre 4xx et. CloudFront

  • Les erreurs serveur indiquent un problème lié au serveur d'origine. Par exemple, le HTTP serveur est occupé ou indisponible. Lorsqu'une erreur de serveur se produit, soit votre serveur d'origine renvoie un code d'HTTPétat de l'ordre de 5xx à CloudFront, soit CloudFront il ne reçoit pas de réponse de votre serveur d'origine pendant un certain temps et suppose un code d'état 504 (Gateway Timeout).

Les codes HTTP d'état pour lesquels une page d'erreur personnalisée CloudFront peut être renvoyée sont les suivants :

  • 400, 403, 404, 405, 414, 416

  • 500, 501, 502, 503, 504

    Remarques
    • S'il CloudFront détecte que la demande n'est peut-être pas sûre, CloudFront renvoie une erreur 400 (mauvaise demande) au lieu d'une page d'erreur personnalisée.

    • 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 de plus amples informations, veuillez consulter 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.

    • Dans certains cas, CloudFront ne renvoie pas de page d'erreur personnalisée pour le code d'état HTTP 503, même si vous l'avez configuré CloudFront à cet effet. Si le code CloudFront d'erreur est Capacity Exceeded ouLimit Exceeded, CloudFront renvoie un code d'état 503 au lecteur sans utiliser votre page d'erreur personnalisée.

    • Si vous avez créé une page d'erreur personnalisée, elle CloudFront sera renvoyée Connection: close ou Connection: keep-alive pour les codes de réponse suivants :

      • CloudFront retours Connection: close pour les codes d'état : 400, 405, 414, 416, 500, 501

      • CloudFront retours Connection: keep-alive pour les codes d'état : 403, 404, 502, 503, 504

Pour une explication détaillée de la gestion CloudFront des réponses d'erreur provenant de votre origine, consultezComment CloudFront traite les codes de statut HTTP 4xx et 5xx de votre origine.