

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
<a name="testing-cors"></a>

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](https://docs.aws.amazon.com/AmazonS3/latest/userguide/enabling-cors-examples.html). Per altri esempi di configurazione CORS, consulta [Elementi di una configurazione CORS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ManageCorsUsing.html). 

Per indicazioni sulla configurazione delle regole CORS e sulla relativa risoluzione dei problemi, consulta [Come faccio a configurare CORS in Amazon S3 e confermare le regole CORS utilizzando cURL?](https://repost.aws/knowledge-center/s3-configure-cors) nel Knowledge Center di 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](https://curl.se/). 

```
 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](https://docs.aws.amazon.com/AmazonS3/latest/userguide/cors-troubleshooting.html). 

```
< 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
```