Test di 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 di CORS

Per testare la configurazione CORS, è possibile inviare una richiesta di verifica CORS con il metodo OPTIONS in modo che il server possa rispondere se l'invio della richiesta è accettabile. Quando Amazon S3 riceve una richiesta di verifica, S3 valuta la configurazione CORS per il bucket e utilizza la prima regola CORSRule corrispondente 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'intestazione Origin di una richiesta CORS al bucket deve corrispondere alle origini dell'elemento AllowedOrigins nella configurazione CORS.

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

  • Le intestazioni elencate nell'intestazione Access-Control-Request-Headers di una richiesta di verifica devono corrispondere alle intestazioni dell'elemento AllowedHeaders nella configurazione CORS.

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

Per indicazioni sulla configurazione e la risoluzione dei problemi delle regole CORS, consulta Come posso configurare CORS in Amazon S3 e confermare le regole CORS utilizzando cURL? nel Knowledge Center. AWS re:Post

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

Per testare la configurazione CORS, è possibile inviare un controllo OPTIONS di verifica utilizzando il seguente comando CURL. CURL è uno strumento da riga di comando che può essere usato 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 comando curl -v -x OPTIONS viene utilizzato per inviare una richiesta di verifica a S3 per chiedere se S3 consente di inviare una richiesta PUT su un oggetto dall'origine incrociata http://www.example1.com. Le intestazioni Access-Control-Request-Headers e Access-Control-Expose-Headers sono opzionali.

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

  • In risposta all'intestazione Access-Control-Request-Headers della richiesta OPTIONS di verifica, Amazon S3 restituisce l'elenco delle intestazioni consentite se le intestazioni richieste corrispondono.

  • In risposta all'intestazione Access-Control-Expose-Headers della richiesta OPTIONS di verifica, 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 verifica, se una delle intestazioni della richiesta CORS non è consentita, non viene restituita nessuna delle intestazioni CORS della risposta.

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