Konfigurasi CORS - Amazon Simple Storage Service

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

Konfigurasi CORS

Untuk mengonfigurasi bucket Anda agar permintaan lintas asal dapat dilakukan, Anda membuat konfigurasi CORS. Konfigurasi CORS adalah dokumen dengan aturan yang mengidentifikasi asal-usul yang akan Anda izinkan untuk mengakses bucket Anda, operasi (metode HTTP) yang akan mendukung setiap asal, dan informasi kustom operasi lainnya. Anda dapat menambahkan hingga 100 aturan ke konfigurasi. Anda dapat menambahkan konfigurasi CORS sebagai sub-sumber daya cors ke bucket.

Jika Anda mengonfigurasi CORS di konsol S3, Anda harus menggunakan JSON untuk membuat konfigurasi CORS. Konsol S3 baru hanya mendukung konfigurasi JSON CORS.

Untuk informasi lebih lanjut tentang konfigurasi CORS dan unsur-unsur di dalamnya, lihat topik di bawah ini. Untuk petunjuk tentang cara menambahkan konfigurasi CORS, lihat Berbagi sumber daya lintas asal (CORS).

penting

Pada konsol S3, konfigurasi CORS harus merupakan JSON.

Contoh 1

Alih-alih mengakses situs web dengan menggunakan titik akhir situs web Amazon S3, Anda dapat menggunakan domain Anda sendiri, seperti example1.com untuk melayani konten Anda. Untuk informasi tentang menggunakan domain Anda sendiri, lihat Tutorial: Mengonfigurasi situs web statis menggunakan domain kustom yang terdaftar di Route 53.

Contoh konfigurasi cors berikut memiliki tiga aturan, yang ditentukan sebagai elemen CORSRule:

  • Aturan pertama mengizinkan permintaan PUT, POST, dan DELETE lintas asal dari asal http://www.example1.com. Aturan ini juga memungkinkan semua header dalam permintaan OPSI preflight melalui header Access-Control-Request-Headers. Menanggapi permintaan OPTIONS preflight, Amazon S3 mengembalikan header yang diminta.

  • Aturan kedua mengizinkan permintaan lintas asal yang sama seperti aturan pertama, tetapi aturan tersebut berlaku untuk asal lain, http://www.example2.com.

  • Aturan ketiga memungkinkan permintaan GET lintas asal dari semua asal. Karakter wildcard * mengacu pada semua asal.

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>

Contoh 2

Konfigurasi CORS juga memungkinkan parameter konfigurasi opsional, seperti ditunjukkan dalam konfigurasi CORS berikut. Dalam contoh ini, konfigurasi CORS memungkinkan permintaan PUT, POST, dan DELETE lintas asal dari asal http://www.example.com.

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>

Elemen CORSRule dalam konfigurasi sebelumnya mencakup elemen opsional berikut:

  • MaxAgeSeconds—Menentukan jumlah waktu dalam detik (dalam contoh ini, 3000) saat browser menyimpan respons Amazon S3 terhadap permintaan OPTIONS preflight untuk sumber daya yang ditentukan. Dengan menyimpan respons, browser tidak perlu mengirim permintaan preflight ke Amazon S3 jika permintaan awal akan diulang.

  • ExposeHeader—Mengidentifikasi header respons (dalam contoh ini,, x-amz-server-side-encryptionx-amz-request-id, danx-amz-id-2) yang dapat diakses pelanggan dari aplikasi mereka (misalnya, dari objek). JavaScript XMLHttpRequest

AllowedMethod elemen

Dalam konfigurasi CORS, Anda dapat menentukan nilai berikut untuk elemen AllowedMethod lainnya.

  • GET

  • PUT

  • POST

  • HAPUS

  • HEAD

AllowedOrigin elemen

Di elemen AllowedOrigin, Anda menentukan asal yang ingin Anda izinkan permintaan lintas domainnya, misalnya, http://www.example.com. String asal hanya dapat berisi satu karakter wildcard *, seperti http://*.example.com. Anda secara opsional dapat menentukan * sebagai asal untuk mengaktifkan semua asal untuk mengirim permintaan lintas asal. Anda juga dapat menentukan https untuk hanya memungkinkan asal yang aman.

AllowedHeader elemen

Elemen AllowedHeader menentukan header yang diizinkan dalam permintaan preflight melalui header Access-Control-Request-Headers. Setiap nama header di header Access-Control-Request-Headers harus cocok dengan entri yang sesuai pada aturan. Amazon S3 hanya akan mengirimkan header yang diizinkan dalam respons yang diminta. Untuk daftar sampel header yang dapat digunakan dengan permintaan ke Amazon S3, kunjungi Header Permintaan Umum dalam panduan Referensi API Amazon Simple Storage Service.

Setiap AllowedHeader string dalam aturan dapat berisi paling banyak satu karakter wildcard. Misalnya, <AllowedHeader>x-amz-*</AllowedHeader> akan mengaktifkan semua header kustom Amazon.

ExposeHeader elemen

Setiap ExposeHeader elemen mengidentifikasi header dalam respons yang Anda ingin pelanggan dapat mengakses dari aplikasi mereka (misalnya, dari JavaScript XMLHttpRequest objek). Untuk daftar header respons Amazon S3 umum, kunjungi Header Respons Umum dalam panduan Referensi API Amazon Simple Storage Service.

MaxAgeSeconds elemen

Elemen MaxAgeSeconds menentukan waktu dalam hitungan detik bahwa browser Anda dapat menyimpan respons untuk permintaan preflight sebagaimana diidentifikasi oleh sumber daya, metode HTTP, dan asal.