Dépannage des problèmes liés à la stratégie CORS - Amazon Simple Storage Service

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 :

  1. 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.

  2. 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 :

    1. 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.

    2. Vérifiez que l'en-tête Origin dans la demande correspond à au moins l'un des éléments AllowedOrigin de la règle CORSRule 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ègle CORSRule. Par exemple, si vous définissez la règle CORSRule pour autoriser l'origine http://www.example.com, les deux origines https://www.example.com et http://www.example.com:80 de la demande ne correspondent pas à l'origine autorisée de votre configuration.

    3. 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éments AllowedMethod de la même règle CORSRule.

    4. Pour une demande en amont, si la demande inclut un en-tête Access-Control-Request-Headers, vérifiez que la règle CORSRule inclut les entrées AllowedHeader pour chaque valeur dans l'en-tête Access-Control-Request-Headers.