Elementi di una CORS configurazione - 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à.

Elementi di una CORS configurazione

Per configurare il bucket in modo da consentire le richieste multiorigine, è necessario creare una configurazione. CORS La CORS configurazione è un documento con elementi che identificano le origini a cui consentirai l'accesso al tuo bucket, le operazioni (HTTPmetodi) che supporterai per ciascuna origine e altre informazioni specifiche sull'operazione. È possibile aggiungere fino a 100 regole alla configurazione. Puoi aggiungere la CORS configurazione come cors sottorisorsa al bucket.

Se si esegue la configurazione CORS nella console S3, è necessario utilizzare JSON per creare una configurazione. CORS La nuova console S3 supporta solo configurazioni. JSON CORS

Per ulteriori informazioni sulla CORS configurazione e sugli elementi in essa contenuti, consulta gli argomenti seguenti. Per istruzioni su come aggiungere una CORS configurazione, consultaConfigurazione della condivisione di risorse tra origini () CORS.

Importante

Nella console S3, la CORS configurazione deve essereJSON.

Elemento AllowedMethods

Nella CORS configurazione, puoi specificare i seguenti valori per l'AllowedMethodselemento.

  • GET

  • PUT

  • POST

  • DELETE

  • HEAD

Elemento AllowedOrigins

Nell'elemento AllowedOrigins, è possibile specificare le origini da cui si desiderano consentire le richieste multidominio, ad esempio http://www.example.com. La stringa di origine può contenere solamente un carattere jolly *, ad esempio http://*.example.com. Se si desidera, è possibile specificare * come origine per consentire a tutte le origini di inviare richieste multiorigine. È anche possibile specificare https per abilitare solo le origini sicure.

Elemento AllowedHeaders

L'elemento AllowedHeaders specifica le intestazioni consentite in una richiesta preliminare tramite l'intestazione Access-Control-Request-Headers. Ogni nome di intestazione nell'Access-Control-Request-Headersintestazione deve corrispondere a una voce corrispondente nell'elemento. Tra le intestazioni richieste, Amazon S3 invierà nella risposta solo quelle consentite. Per un elenco di esempio di intestazioni che possono essere utilizzate nelle richieste ad Amazon S3, consulta Common Request Headers nella guida di riferimento di Amazon Simple Storage API Service.

Ogni AllowedHeaders stringa della tua configurazione può contenere al massimo un carattere jolly (*). Ad esempio, <AllowedHeader>x-amz-*</AllowedHeader> abiliterà tutte le intestazioni specifiche di Amazon.

Elemento ExposeHeaders

Ogni ExposeHeader elemento identifica un'intestazione nella risposta a cui desideri che i clienti possano accedere dalle loro applicazioni (ad esempio, da un JavaScript XMLHttpRequest oggetto). Per un elenco delle intestazioni di risposta comuni di Amazon S3, consulta Common Response Headers nella guida di riferimento di Amazon Simple Storage Service. API

Elemento MaxAgeSeconds

L'MaxAgeSecondselemento specifica il tempo, in secondi, in cui il browser può memorizzare nella cache la risposta per una richiesta di preflight identificata dalla risorsa, dal HTTP metodo e dall'origine.

Esempi di configurazioni CORS

Anziché accedere a un sito Web utilizzando un endpoint del sito Web Amazon S3, è possibile utilizzare il proprio dominio, come example1.com, per consegnare il contenuto. Per informazioni sull'uso del proprio dominio, consulta Tutorial: Configurazione di un sito Web statico utilizzando un dominio personalizzato registrato con Route 53.

La CORS configurazione di esempio seguente ha tre regole, che sono specificate come CORSRule elementi:

  • La prima regola consente l'PUTPOSTinterprovenienza e DELETE le richieste dall'http://www.example1.comorigine. La regola consente inoltre che tutte le intestazioni di una OPTIONS richiesta di preflight vengano inviate tramite l'intestazione. Access-Control-Request-Headers In risposta alle OPTIONS richieste di preflight, Amazon S3 restituisce le intestazioni richieste.

  • La seconda regola consente le stesse richieste multiorigine della prima regola, ma si applica a un'altra origine, http://www.example2.com.

  • La terza regola consente GET richieste multiorigine da tutte le origini. Il carattere jolly * si riferisce a tutte le origini.

JSON
[ { "AllowedHeaders": [ "*" ], "AllowedMethods": [ "PUT", "POST", "DELETE" ], "AllowedOrigins": [ "http://www.example1.com" ], "ExposeHeaders": [] }, { "AllowedHeaders": [ "*" ], "AllowedMethods": [ "PUT", "POST", "DELETE" ], "AllowedOrigins": [ "http://www.example2.com" ], "ExposeHeaders": [] }, { "AllowedHeaders": [], "AllowedMethods": [ "GET" ], "AllowedOrigins": [ "*" ], "ExposeHeaders": [] } ]
XML
<CORSConfiguration> <CORSRule> <AllowedOrigin>http://www.example1.com</AllowedOrigin> <AllowedMethod>PUT</AllowedMethod> <AllowedMethod>POST</AllowedMethod> <AllowedMethod>DELETE</AllowedMethod> <AllowedHeader>*</AllowedHeader> </CORSRule> <CORSRule> <AllowedOrigin>http://www.example2.com</AllowedOrigin> <AllowedMethod>PUT</AllowedMethod> <AllowedMethod>POST</AllowedMethod> <AllowedMethod>DELETE</AllowedMethod> <AllowedHeader>*</AllowedHeader> </CORSRule> <CORSRule> <AllowedOrigin>*</AllowedOrigin> <AllowedMethod>GET</AllowedMethod> </CORSRule> </CORSConfiguration>

La CORS configurazione consente anche parametri di configurazione opzionali, come illustrato nella CORS configurazione seguente. In questo esempio, la CORS configurazione consente l'PUTPOSTinterprovenienza e DELETE le richieste dall'http://www.example.comorigine.

JSON
[ { "AllowedHeaders": [ "*" ], "AllowedMethods": [ "PUT", "POST", "DELETE" ], "AllowedOrigins": [ "http://www.example.com" ], "ExposeHeaders": [ "x-amz-server-side-encryption", "x-amz-request-id", "x-amz-id-2" ], "MaxAgeSeconds": 3000 } ]
XML
<CORSConfiguration> <CORSRule> <AllowedOrigin>http://www.example.com</AllowedOrigin> <AllowedMethod>PUT</AllowedMethod> <AllowedMethod>POST</AllowedMethod> <AllowedMethod>DELETE</AllowedMethod> <AllowedHeader>*</AllowedHeader> <MaxAgeSeconds>3000</MaxAgeSeconds> <ExposeHeader>x-amz-server-side-encryption</ExposeHeader> <ExposeHeader>x-amz-request-id</ExposeHeader> <ExposeHeader>x-amz-id-2</ExposeHeader> </CORSRule> </CORSConfiguration>

L'elemento CORSRule nella configurazione precedente include gli elementi opzionali riportati di seguito.

  • MaxAgeSeconds: specifica la quantità di tempo in secondi (in questo esempio 3000) in cui il browser memorizza nella cache una risposta Amazon S3 a una richiesta di preflight OPTIONS per la risorsa specificata. La memorizzazione nella cache della risposta consente al browser di non inviare richieste preliminari ad Amazon S3 se la richiesta originale viene ripetuta.

  • ExposeHeader—Identifica le intestazioni di risposta (in questo esempio x-amz-server-side-encryptionx-amz-request-id, ex-amz-id-2) a cui i clienti possono accedere dalle loro applicazioni (ad esempio, da un oggetto). JavaScript XMLHttpRequest