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 sesuai dengan asal dalamAllowedOriginselemen dalam konfigurasi CORS Anda. -
Metode HTTP yang ditentukan dalam permintaan CORS
Access-Control-Request-Methodke bucket Anda harus cocok dengan metode atau metode yang tercantum dalamAllowedMethodselemen dalam konfigurasi CORS Anda. Header yang tercantum dalam
Access-Control-Request-Headersheader dalam permintaan preflight harus cocok dengan header dalamAllowedHeaderselemen dalam konfigurasi CORS Anda.
Berikut ini adalah contoh konfigurasi CORS. Untuk membuat Konfigurasi CORS, lihat Mengon figurasi CORS. Untuk contoh konfigurasi CORS selengkapnya, lihat Elemen konfigurasi CORS.
Untuk panduan mengonfigurasi dan memecahkan masalah aturan CORS, lihat Bagaimana cara mengonfigurasi CORS di Amazon S3 dan mengonfirmasi aturan CORS menggunakan cURL?
Untuk menguji konfigurasi CORS, Anda dapat mengirim pemeriksaan preflight OPTIONS dengan menggunakan perintah CURL berikut. CURL adalah alat baris perintah yang dapat digunakan untuk berinteraksi dengan S3. Untuk informasi selengkapnya, 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 cross originhttp://www.example1.com. Header Access-Control-Request-Headers dan Access-Control-Expose-Headers opsional.
-
Menanggapi
Access-Control-Request-Methodheader dalamOPTIONSpermintaan preflight, Amazon S3 mengembalikan daftar metode yang diizinkan jika metode yang diminta cocok. -
Menanggapi
Access-Control-Request-Headersheader dalamOPTIONSpermintaan preflight, Amazon S3 mengembalikan daftar header yang diizinkan jika header yang diminta cocok. -
Menanggapi
Access-Control-Expose-Headersheader dalamOPTIONSpermintaan 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 lebih lanjut untuk memecahkan masalah terkait CORS, lihat. Penyelesaian 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