Test CORS - Amazon Simple Storage Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Test CORS

Per testare la CORS configurazione, è possibile inviare una richiesta di CORS preflight con il OPTIONS metodo in modo che il server possa rispondere se l'invio della richiesta è accettabile. Quando Amazon S3 riceve una richiesta di preflight, S3 valuta la CORS configurazione per il bucket e utilizza la prima CORSRule regola che corrisponde alla richiesta in entrata per abilitare una richiesta multiorigine. Per garantire la corrispondenza tra la regola e la richiesta, è necessario che siano soddisfatte le condizioni elencate di seguito.

  • L'Originintestazione di una CORS richiesta al tuo bucket deve corrispondere alle origini dell'elemento della tua configurazione. AllowedOrigins CORS

  • I HTTP metodi specificati Access-Control-Request-Method in una CORS richiesta al bucket devono corrispondere al metodo o ai metodi elencati nell'AllowedMethodselemento della configurazione. CORS

  • Le intestazioni elencate nell'Access-Control-Request-Headersintestazione di una richiesta di preflight devono corrispondere alle intestazioni dell'elemento della AllowedHeaders configurazione. CORS

Di seguito è riportato un esempio di configurazione. CORS Per creare una CORS configurazione, vedere Configurazione CORS. Per altri esempi di CORS configurazione, vedi Elementi di una CORS configurazione.

JSON
[ { "AllowedHeaders": [ "Authorization" ], "AllowedMethods": [ "GET" "PUT", "POST", "DELETE" ], "AllowedOrigins": [ "http://www.example1.com" ], "ExposeHeaders": [ "x-amz-meta-custom-header" ] } ]

Per testare la CORS configurazione, è possibile inviare un OPTIONS controllo preliminare utilizzando il CURL comando seguente. CURLè uno strumento da riga di comando che può essere utilizzato per interagire con S3. Per ulteriori informazioni, consulta. 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"

Nell'esempio precedente, il curl -v -x OPTIONS comando viene utilizzato per inviare una richiesta di preflight a S3 per chiedere se S3 gli consente di inviare una PUT richiesta su un oggetto dall'origine incrociata. http://www.example1.com Le intestazioni e sono opzionaliAccess-Control-Request-Headers. Access-Control-Expose-Headers

  • In risposta all'Access-Control-Request-Methodintestazione della OPTIONS richiesta di preflight, Amazon S3 restituisce l'elenco dei metodi consentiti se i metodi richiesti corrispondono.

  • In risposta all'Access-Control-Request-Headersintestazione nella OPTIONS richiesta di preflight, Amazon S3 restituisce l'elenco delle intestazioni consentite se le intestazioni richieste corrispondono.

  • In risposta all'Access-Control-Expose-Headersintestazione nella OPTIONS richiesta di preflight, Amazon S3 restituisce un elenco di intestazioni consentite se le intestazioni richieste corrispondono alle intestazioni consentite a cui possono accedere gli script in esecuzione nel browser.

Nota

Quando si invia una richiesta di preflight, se nessuna delle intestazioni della richiesta non è consentita, non viene CORS restituita nessuna delle intestazioni di risposta. CORS

In risposta a questa OPTIONS richiesta di preflight, riceverai una risposta. 200 OK Per i codici di errore più comuni ricevuti durante il test CORS e ulteriori informazioni per risolvere i problemi CORS correlati, vedi Risoluzione dei problemi 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