

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Menguji CORS
<a name="testing-cors"></a>

Untuk menguji konfigurasi CORS Anda, permintaan preflight CORS dapat dikirim dengan `OPTIONS` metode sehingga server dapat merespons jika dapat diterima untuk mengirim permintaan. Saat Amazon S3 menerima permintaan preflight, S3 mengevaluasi konfigurasi CORS untuk bucket dan menggunakan `CORSRule` aturan pertama yang cocok dengan permintaan masuk untuk mengaktifkan permintaan lintas asal. Agar aturan dapat dicocokkan, ketentuan berikut harus dipenuhi: 
+ `Origin`Header dalam permintaan CORS ke bucket Anda harus cocok dengan asal `AllowedOrigins` elemen dalam konfigurasi CORS Anda.
+ Metode HTTP yang ditentukan dalam permintaan CORS ke bucket Anda harus cocok dengan metode atau metode yang tercantum dalam `AllowedMethods` elemen dalam konfigurasi CORS Anda. `Access-Control-Request-Method`
+ Header yang tercantum di `Access-Control-Request-Headers` header dalam permintaan preflight harus cocok dengan header dalam `AllowedHeaders` elemen dalam konfigurasi CORS Anda. 

Berikut ini adalah contoh konfigurasi CORS. Untuk membuat Konfigurasi CORS, lihat [Mengkonfigurasi](https://docs.aws.amazon.com/AmazonS3/latest/userguide/enabling-cors-examples.html) CORS. Untuk contoh konfigurasi CORS lainnya, lihat [Elemen konfigurasi CORS.](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ManageCorsUsing.html) 

Untuk panduan tentang mengonfigurasi dan memecahkan masalah aturan CORS, lihat [Bagaimana cara mengonfigurasi CORS di Amazon S3 dan mengonfirmasi aturan CORS menggunakan cURL](https://repost.aws/knowledge-center/s3-configure-cors)? di pusat AWS re:Post pengetahuan.

------
#### [ JSON ]

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

------

Untuk menguji konfigurasi CORS, Anda dapat mengirim `OPTIONS` cek preflight dengan menggunakan perintah CURL berikut. CURL adalah alat baris perintah yang dapat digunakan untuk berinteraksi dengan S3. Untuk informasi lebih lanjut, lihat [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"
```

Dalam contoh di atas, `curl -v -x OPTIONS` perintah digunakan untuk mengirim permintaan preflight ke S3 untuk menanyakan apakah diizinkan oleh S3 untuk mengirim `PUT` permintaan pada objek dari asal silang. `http://www.example1.com` Header `Access-Control-Request-Headers` dan `Access-Control-Expose-Headers` opsional.
+ Menanggapi `Access-Control-Request-Method` header dalam `OPTIONS` permintaan preflight, Amazon S3 mengembalikan daftar metode yang diizinkan jika metode yang diminta cocok. 
+ Menanggapi `Access-Control-Request-Headers` header dalam `OPTIONS` permintaan preflight, Amazon S3 mengembalikan daftar header yang diizinkan jika header yang diminta cocok.
+ Menanggapi `Access-Control-Expose-Headers` header dalam `OPTIONS` permintaan preflight, Amazon S3 mengembalikan daftar header yang diizinkan jika header yang diminta cocok dengan header yang diizinkan yang dapat diakses oleh skrip yang berjalan di browser.

**catatan**  
Saat mengirim permintaan preflight, jika salah satu header permintaan CORS tidak diizinkan, tidak ada header CORS respons yang dikembalikan.

Menanggapi `OPTIONS` permintaan preflight ini, Anda akan menerima `200 OK` tanggapan. Untuk kode kesalahan umum yang diterima saat menguji CORS dan informasi selengkapnya untuk mengatasi masalah terkait CORS, lihat [Pemecahan](https://docs.aws.amazon.com/AmazonS3/latest/userguide/cors-troubleshooting.html) Masalah 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
```