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.
Pour tester votre configuration CORS, une demande de contrôle en amont CORS peut être envoyée avec la méthode OPTIONS
afin que le serveur puisse répondre s’il est acceptable d’envoyer la demande. Quand Amazon S3 reçoit une demande de contrôle en amont, S3 évalue la configuration CORS du compartiment et utilise la première règle CORSRule
qui correspond à la demande entrante pour permettre une demande cross-origin. Pour qu’une règle corresponde, les conditions suivantes doivent être remplies :
-
L’en-tête
Origin
d’une demande CORS adressée à votre compartiment doit correspondre aux origines de l’élémentAllowedOrigins
de votre configuration CORS. -
Les méthodes HTTP spécifiées dans
Access-Control-Request-Method
dans une demande CORS adressée à votre compartiment doivent correspondre à la ou aux méthodes répertoriées dans l’élémentAllowedMethods
de votre configuration CORS. Les en-têtes répertoriés dans l’en-tête
Access-Control-Request-Headers
d’une demande de contrôle en amont doivent correspondre aux en-têtes de l’élémentAllowedHeaders
de votre configuration CORS.
Voici un exemple de configuration CORS. Pour créer une configuration CORS, consultez Configuration de CORS. Pour plus d’exemples de configuration de CORS, consultez Éléments d’une configuration CORS.
[
{
"AllowedHeaders": [
"Authorization"
],
"AllowedMethods": [
"GET"
"PUT",
"POST",
"DELETE"
],
"AllowedOrigins": [
"http://www.example1.com"
],
"ExposeHeaders": [
"x-amz-meta-custom-header"
]
}
]
Pour tester la configuration CORS, vous pouvez envoyer un contrôle OPTIONS
en amont à l’aide de la commande CURL suivante. CURL est 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 commande curl -v -x OPTIONS
est utilisée pour envoyer une demande de contrôle en amont à S3 afin de savoir si S3 autorise l’envoi d’une demande PUT
sur un objet à partir de l’adresse http://www.example1.com
d’origines multiples. Les en-têtes Access-Control-Request-Headers
et Access-Control-Expose-Headers
sont facultatifs.
-
En réponse à l’en-tête
Access-Control-Request-Method
de la demandeOPTIONS
de contrôle en amont, Amazon S3 renvoie la liste des méthodes autorisées si les méthodes demandées correspondent. -
En réponse à l’en-tête
Access-Control-Request-Headers
de la demandeOPTIONS
de contrôle en amont, Amazon S3 renvoie la liste des méthodes autorisées si les en-têtes demandés correspondent. -
En réponse à l’en-tête
Access-Control-Expose-Headers
de la demandeOPTIONS
de contrôle en amont, Amazon S3 renvoie la 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 s’exécutant dans le navigateur.
Note
Lors de l’envoi d’une demande de contrôle en amont, si un ou des en-têtes de demande CORS ne sont pas autorisés, aucun des en-têtes CORS de réponse n’est renvoyé.
En réponse à cette demande OPTIONS
de contrôle en amont, vous recevrez une réponse 200 OK
. Pour les codes d’erreur courants reçus lors du test du partage CORS et pour plus d’informations sur la résolution des problèmes liés au partage CORS, consultez Résolution des problèmes liés au CORS.
< 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