J'utilise CloudFront avec une origine Simple Storage Service (Amazon S3). Pourquoi ne puis-je pas accéder à mes fichiers ?

Date de la dernière mise à jour : 07/04/2022

J'utilise un compartiment Amazon Simple Storage Service (Amazon S3) comme origine de ma distribution Amazon CloudFront, mais ne suis pas en mesure d'accéder aux fichiers de mon compartiment S3 ni de les télécharger. Comment résoudre ce problème ?

Résolution

Résoudre les erreurs 403 « Access Denied » (Accès refusé)

Vérifiez vos restrictions géographiques CloudFront

Si votre distribution utilise des restrictions géographiques, vérifiez que vous ne restreignez pas les pays d'où proviennent vos demandes.

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

Vérifier que vous n'appliquez pas HTTPS avec des points de terminaison d'un site web S3

Les points de terminaison de site web Simple Storage Service (Amazon S3) ne prennent pas en charge HTTPS. Si vous avez configuré une distribution CloudFront avec l'interface de ligne de commande (CLI), l'API ou le kit SDK, vérifiez que vous n'appliquez pas HTTPS avec l'origine des points de terminaison de votre site web S3.

Pour vérifier si vous utilisez HTTPS, utilisez l'API GetDistributionConfig ou la commande CLI get-distribution-config pour obtenir la configuration de la distribution. Si la politique OriginProtocolPolicy est définie sur https-only, modifiez la politique OriginProtocolPolicy pour utiliser https-only.

Pour utiliser HTTPS, utilisez CloudFront avec une origine de points de terminaison d'API REST S3. Pour plus d'informations, consultez Comment puis-je utiliser CloudFront pour traiter les demandes HTTPS de mon compartiment Simple Storage Service (Amazon S3) ?

Vérifiez que la taille de vos objets S3 est inférieure à 30 Go

La taille de fichier maximale autorisée pour les requêtes HTTP GET, POST et PUT est de 30 Go. Si la taille d'un fichier est supérieure à 30 Go, vous recevez une erreur 400 « BadRequest ».

Pour plus d'informations, consultez Quotas généraux sur les distributions.

Vérifiez la présence de caractères spéciaux dans les noms de clés d'objets S3

Si vous utilisez des caractères spéciaux dans le nom de votre clé d'objet S3, ils peuvent nécessiter un traitement spécial. Pour plus d'informations, consultez Instructions concernant l'attribution de noms de clés d'objets.

Confirmer que vous n'utilisez pas d'objets racines par défaut d'un sous-répertoire

Une distribution CloudFront ne renvoie pas les objets racines par défaut d'un sous-répertoire, même si l'objet est configuré dans votre distribution. Pour plus d'informations, consultez Spécification d'un objet racine par défaut.

Pour contourner le problème, vous pouvez utiliser Lambda @Edge pour renvoyer l'objet racine par défaut à partir d'un sous-répertoire. Pour plus d'informations, consultez Implémentation d'index de répertoires par défaut dans des origines Amazon CloudFront basées sur Simple Storage Service (Amazon S3) à l'aide de Lambda@Edge.

Confirmez que vous n'utilisez pas d'en-têtes d'hôtes ayant une origine S3

Pour les origines Simple Storage Service (Amazon S3) , la mise en cache basée sur l'en-tête d'hôte ou le transfert de l'en-tête d'hôte ne sont pas pris en charge. Pour plus d'informations, consultez Sélection des en-têtes sur lesquels baser la mise en cache.

Résoudre l'erreur « No 'Access-Control-Allow-Origin' header is present on the requested resource » (Aucun en-tête « Access-Control-Allow-Origin» n'est présent dans la ressource demandée)


Cet article vous a-t-il été utile ?


Avez-vous besoin d'aide pour une question technique ou de facturation ?