Comment résoudre les erreurs 403 provenant de CloudFront ?

Lecture de 5 minute(s)
0

J'utilise Amazon CloudFront pour diffuser du contenu. Mes utilisateurs reçoivent une erreur HTTP 403 avec les messages « La demande n'a pas pu être satisfaite » ou « Accès refusé.»

Résolution

Le nom de domaine n'est pas associé à un autre nom de domaine (CNAME) sur une distribution

Si vous créez un système de noms de domaine (DNS) sans ajouter de CNAME dans la configuration de votre distribution CloudFront, CloudFront renvoie une erreur 403. Cela se produit même si le CNAME est redirigé vers CloudFront au niveau du DNS.

Pour utiliser un CNAME au lieu de l'URL CloudFront par défaut, suivez les instructions relatives à l'ajout d'un autre nom de domaine.

Pour plus d'informations, consultez la section Utilisation d'URL personnalisées en ajoutant des noms de domaine alternatifs (CNAME).

Les restrictions géographiques de CloudFront ont été configurées sur la distribution

Les restrictions géographiques de CloudFront peuvent empêcher les utilisateurs de certains pays d'accéder à votre contenu. Si des restrictions géographiques sont à l'origine de l'erreur, la réponse 403 contient un message similaire au suivant : «La distribution Amazon CloudFront est configurée pour bloquer l'accès depuis votre pays.» En outre, l'en-tête de réponse Server : CloudFront est présent. L'entrée correspondante du journal d'accès CloudFront contient ClientGeoBlocked comme valeur pour x-edge-detailed-result-type.

Pour plus d'informations, consultez la section Restriction de la distribution géographique de votre contenu.

AWS WAF est configuré sur la distribution CloudFront et bloque la demande

Si vous utilisez AWS WAF pour surveiller les demandes transférées et que le contenu demandé ne correspond pas aux conditions spécifiées, le contenu est bloqué par WAF. Vous recevez un message d'erreur 403. Dans ce cas, l'erreur contient un message similaire à : « Demande bloquée. Nous ne pouvons pas nous connecter au serveur de cette application ou de ce site Web pour le moment.» L'en-tête de réponse du serveur contient CloudFront comme valeur. L'entrée du journal d'accès correspondante a Error comme valeur pour x-edge-detailed-result-type.

Le même message d'erreur et une valeur d'en-tête de réponse de Cloudfront peuvent être présents lorsque la raison pour laquelle la demande est bloquée n'est pas AWS WAF.  Pour confirmer que la demande est bloquée par AWS WAF et identifier la règle qui l'a bloquée, consultez les journaux AWS WAF pour la demande bloquée. Vous pouvez également consulter les métriques AWS WAF CloudFront pour la WebACL appropriée. Ensuite, consultez le WebACL pour voir les règles bloquées. Pour plus d'informations, consultez Test et réglage de vos protections AWS WAF.

Une origine Amazon S3 renvoie une erreur 403

Sur la base de votre configuration d'origine Amazon Simple Storage Service (Amazon S3), consultez les informations suivantes pour résoudre les problèmes :

J'utilise un point de terminaison de site Web S3 comme origine de ma distribution CloudFront. Pourquoi est-ce que je reçois des erreurs 403 accès refusé ?

J'utilise un point de terminaison d'API REST S3 comme origine de ma distribution CloudFront. Pourquoi est-ce que je reçois des erreurs 403 accès refusé ?

Une origine personnalisée renvoie l'erreur 403

Une erreur 403 peut être renvoyée par une origine en raison d'un pare-feu d'application ou pour toute autre raison liée à l'origine personnalisée. Si la réponse contient un en-tête de serveur sans la valeur CloudFront, l'erreur peut provenir de l'origine personnalisée.

Pour déterminer si l'erreur provient de l'origine personnalisée, consultez les journaux d'accès HTTP d'origine.

Si vous ne parvenez pas à vérifier les journaux d'accès HTTP d'origine, utilisez les méthodes de résolution des problèmes suivantes :

  • Consultez les journaux d'accès à CloudFront. Si le champ** time-taken** pour la demande bloquée est nettement inférieur à la moyenne du champ time-taken, il se peut que la réponse ne provienne pas de l'origine. Une valeur faible dans le champtime-taken indique qu'une réponse a été envoyée depuis un emplacement périphérique.
  • Faites la demande directement à l'origine. Si vous pouvez répliquer l'erreur sans passer par CloudFront, il se peut que l'origine renvoie l'erreur 403.

L'erreur est due à une URL signée ou à la configuration de cookies signés

Si l'option Restreindre l'accès aux utilisateurs est activée pour la configuration du comportement de votre CloudFront, les demandes effectuées sans utiliser de cookies signés ou d'URL génèrent une erreur 403.

Pour plus d'informations sur la configuration des cookies signés et des URL signées, consultez la section Diffusion de contenu privé avec des URL et des cookies signés.

Pour connaître les étapes de résolution des problèmes, consultez l'article Comment résoudre les problèmes liés à une URL signée ou à des cookies signés dans CloudFront ?

La politique de distribution avec le protocole Viewer n'est pas configurée pour HTTP et HTTPS

Si la requête HTTP est envoyée à une distribution dont le paramètre Viewer Protocol Policy est défini sur HTTPS uniquement, la demande peut renvoyer une erreur 403.

Pour plus d'informations, consultez la section Protocole HTTPS exigé pour la communication entre les utilisateurs et CloudFront.

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an