Ce guide ne fait plus l'objet de mises à jour. Pour obtenir des informations et des instructions actuelles, reportez-vous au nouveau Guide de l'utilisateur Amazon S3.
Dépannage des problèmes liés à la stratégie CORS
Si vous rencontrez un comportement imprévu lorsque vous accédez aux compartiments définis avec la configuration CORS, voici les étapes à suivre :
-
Vérifiez que la configuration CORS est paramétrée sur le compartiment.
Pour obtenir des instructions, veuillez consulter Modification des autorisations d'un compartiment dans le Guide de l'utilisateur de la console Amazon Simple Storage Service. Si la configuration CORS est définie, la console affiche un lien Edit CORS Configuration (Modifier la configuration CORS) dans la section Autorisations du compartiment Propriétés.
-
Capturez la demande et la réponse complètes grâce à l'outil de votre choix. Pour chaque demande reçue par Amazon S3, il doit exister une règle CORS correspondant aux données de la demande, comme suit :
-
Vérifiez que la demande possède l'en-tête Origin.
Si l'en-tête est manquant, Amazon S3 ne la traite pas comme une demande cross-origin et ne renvoie pas d'en-têtes de réponse CORS dans la réponse.
-
Vérifiez que l'en-tête Origin dans la demande correspond à au moins l'un des éléments
AllowedOrigin
de la règleCORSRule
spécifiée.Le schéma, l'hôte et les valeurs de port de l'en-tête de demande Origin doivent correspondre aux éléments
AllowedOrigin
de la règleCORSRule
. Par exemple, si vous définissez la règleCORSRule
pour autoriser l'originehttp://www.example.com
, les deux origineshttps://www.example.com
ethttp://www.example.com:80
de la demande ne correspondent pas à l'origine autorisée de votre configuration. -
Vérifiez que la méthode de la demande (ou, dans une demande en amont, la méthode spécifiée dans
Access-Control-Request-Method
) est l'un des élémentsAllowedMethod
de la même règleCORSRule
. -
Pour une demande en amont, si la demande inclut un en-tête
Access-Control-Request-Headers
, vérifiez que la règleCORSRule
inclut les entréesAllowedHeader
pour chaque valeur dans l'en-têteAccess-Control-Request-Headers
.
-