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.

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