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.
Tests CORS
Pour tester votre CORS configuration, une demande de CORS prévol peut être envoyée avec la OPTIONS
méthode afin que le serveur puisse répondre s'il est acceptable d'envoyer la demande. Lorsqu'Amazon S3 reçoit une demande préalable au vol, S3 évalue la CORS configuration du compartiment et utilise la première CORSRule
règle correspondant à la demande entrante pour activer une demande d'origine croisée. Pour qu'une règle corresponde, les conditions suivantes doivent être remplies :
-
L'
Origin
en-tête d'une CORS demande adressée à votre bucket doit correspondre aux origines de l'AllowedOrigins
élément de votre CORS configuration. -
Les HTTP méthodes spécifiées
Access-Control-Request-Method
dans une CORS demande adressée à votre compartiment doivent correspondre à la ou aux méthodes répertoriées dans l'AllowedMethods
élément de votre CORS configuration. Les en-têtes répertoriés dans l'
Access-Control-Request-Headers
en-tête d'une demande de prévol doivent correspondre aux en-têtes de l'AllowedHeaders
élément de votre configuration. CORS
Voici un exemple de CORS configuration. Pour créer une CORS configuration, consultez Configuration CORS. Pour plus d'exemples de CORS configuration, consultez la section Éléments d'une CORS configuration.
Pour tester la CORS configuration, vous pouvez envoyer une OPTIONS
vérification avant le vol à l'aide de la CURL commande suivante. CURLest un outil de ligne de commande qui peut être utilisé pour interagir avec S3. Pour plus d'informations, consultez CURL
curl -v -X OPTIONS \ -H "Origin: http://www.example1.com" \ -H "Access-Control-Request-Method: PUT" \ -H "Access-Control-Request-Headers: Authorization" \ -H "Access-Control-Expose-Headers: x-amz-meta-custom-header"\ "http://bucket_name.s3.amazonaws.com/object_prefix_name"
Dans l'exemple ci-dessus, la curl -v -x OPTIONS
commande est utilisée pour envoyer une demande de prévol à S3 afin de savoir si S3 l'autorise à envoyer une PUT
demande sur un objet à partir de l'origine croisée. http://www.example1.com
Les en-têtes Access-Control-Request-Headers
et en-têtes Access-Control-Expose-Headers
sont facultatifs.
-
En réponse à l'
Access-Control-Request-Method
en-tête de laOPTIONS
demande de pré-vol, Amazon S3 renvoie la liste des méthodes autorisées si les méthodes demandées correspondent. -
En réponse à l'
Access-Control-Request-Headers
en-tête de laOPTIONS
demande de pré-vol, Amazon S3 renvoie la liste des en-têtes autorisés si les en-têtes demandés correspondent. -
En réponse à l'
Access-Control-Expose-Headers
en-tête de laOPTIONS
demande de prévol, Amazon S3 renvoie une liste des en-têtes autorisés si les en-têtes demandés correspondent aux en-têtes autorisés accessibles par les scripts exécutés dans le navigateur.
Note
Lors de l'envoi d'une demande de prévol, si l'un des en-têtes de CORS demande n'est pas autorisé, aucun des CORS en-têtes de réponse n'est renvoyé.
En réponse à cette OPTIONS
demande avant le vol, vous recevrez une 200 OK
réponse. Pour les codes d'erreur courants reçus lors des tests CORS et pour plus d'informations sur la résolution des problèmes CORS connexes, consultez la section Résolution des problèmesCORS.
< HTTP/1.1 200 OK < Date: Fri, 12 Jul 2024 00:23:51 GMT < Access-Control-Allow-Origin: http://www.example1.com < Access-Control-Allow-Methods: GET, PUT, POST, DELETE < Access-Control-Allow-Headers: Authorization < Access-Control-Expose-Headers: x-amz-meta-custom-header < Access-Control-Allow-Credentials: true < Vary: Origin, Access-Control-Request-Headers, Access-Control-Request-Method < Server: AmazonS3 < Content-Length: 0