Menguji 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.

Menguji CORS

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:

  • OriginHeader 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 CORS. Untuk contoh konfigurasi CORS lainnya, lihat Elemen konfigurasi CORS.

Untuk panduan tentang mengonfigurasi dan memecahkan masalah aturan CORS, lihat Bagaimana cara mengonfigurasi CORS di Amazon S3 dan mengonfirmasi aturan CORS menggunakan cURL? 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.

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