Konfigurasikan CORS untuk HTTP APIs di API Gateway - APIGerbang Amazon

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

Konfigurasikan CORS untuk HTTP APIs di API Gateway

Cross-origin resource sharing (CORS) adalah fitur keamanan browser yang membatasi HTTP permintaan yang dimulai dari skrip yang berjalan di browser. Jika Anda tidak dapat mengakses API dan menerima pesan kesalahan yang berisiCross-Origin Request Blocked, Anda mungkin perlu mengaktifkanCORS. Untuk informasi lebih lanjut, lihat Apa ituCORS? .

CORSbiasanya diperlukan untuk membangun aplikasi web yang mengakses APIs host pada domain atau asal yang berbeda. Anda dapat mengaktifkan CORS untuk mengizinkan permintaan Anda API dari aplikasi web yang dihosting di domain yang berbeda. Misalnya, jika Anda API di-host https://{api_id}.execute-api.{region}.amazonaws.com/ dan Anda ingin menelepon API dari aplikasi web yang di-hostexample.com, Anda API harus mendukungCORS.

Jika Anda mengonfigurasi CORSAPI, API Gateway secara otomatis mengirimkan respons ke OPTIONS permintaan preflight, meskipun tidak ada OPTIONS rute yang dikonfigurasi untuk AndaAPI. Untuk CORS permintaan, API Gateway menambahkan CORS header yang dikonfigurasi ke respons dari integrasi.

catatan

Jika Anda mengonfigurasi CORS untuk sebuahAPI, API Gateway mengabaikan CORS header yang dikembalikan dari integrasi backend Anda.

Anda dapat menentukan parameter berikut dalam CORS konfigurasi. Untuk menambahkan parameter ini menggunakan HTTP API konsol API Gateway, pilih Tambah setelah Anda memasukkan nilai Anda.

CORSheader CORSproperti konfigurasi Contoh nilai

Access-Control-Allow-Origin

allowOrigins

  • https://www.example.com

  • *(izinkan semua asal)

  • https://*(izinkan asal apa pun yang dimulai dengan https://)

  • http://*(izinkan asal apa pun yang dimulai dengan http://)

Access-Control-Allow-Credentials

allowCredentials

true

Access-Control-Expose-Header

exposeHeaders

Tanggal, x-api-id, *

Akses-Kontrol-Max-Age

maxAge

300

Access-Control-Allow-Methods

allowMethods

GET, POST, DELETE, *

Access-Control-Allow-Header

allowHeaders

Otorisasi, *

Untuk mengembalikan CORS header, permintaan Anda harus berisi origin header. Untuk OPTIONS metode ini, permintaan Anda harus berisi origin header dan Access-Control-Request-Method header.

CORSKonfigurasi Anda mungkin terlihat mirip dengan yang berikut ini:

CORSkonfigurasi untuk HTTP APIs

Mengkonfigurasi CORS untuk HTTP API dengan $default rute dan otorisasi

Anda dapat mengaktifkan CORS dan mengonfigurasi otorisasi untuk rute apa pun dari file HTTPAPI. Ketika Anda mengaktifkan CORS dan otorisasi untuk $defaultrute, ada beberapa pertimbangan khusus. $defaultRute menangkap permintaan untuk semua metode dan rute yang belum Anda tentukan secara eksplisit, termasuk permintaan. OPTIONS Untuk mendukung OPTIONS permintaan yang tidak sah, tambahkan OPTIONS /{proxy+} rute ke rute Anda API yang tidak memerlukan otorisasi dan lampirkan integrasi ke rute. OPTIONS /{proxy+}Rute ini memiliki prioritas lebih tinggi daripada $default rute. Akibatnya, ini memungkinkan klien untuk mengirimkan OPTIONS permintaan ke Anda API tanpa otorisasi. Untuk informasi selengkapnya tentang prioritas perutean, lihat. Permintaan API perutean

Konfigurasikan CORS untuk HTTP API dengan menggunakan AWS CLI

Anda dapat menggunakan perintah update-api berikut untuk mengaktifkan CORS permintaan dari. https://www.example.com

aws apigatewayv2 update-api --api-id api-id --cors-configuration AllowOrigins="https://www.example.com"

Untuk informasi selengkapnya, lihat CORSdi API Referensi Amazon API Gateway Versi 2.