All Products
Search
Document Center

API Gateway:Konfigurasikan kebijakan CORS

Last Updated:Jun 24, 2026

Berbagi sumber daya lintas domain (CORS) mengontrol origin eksternal mana yang dapat mengakses resource API Anda melalui browser. Cloud-native API Gateway mendukung kebijakan CORS tingkat entri rute yang memungkinkan Anda membatasi origin, metode HTTP, dan header yang diizinkan.

Prosedur

  1. Cloud-native API Gateway menyediakan dua cara untuk mengonfigurasi kebijakan CORS:

    API di luar instans

    1. Masuk ke Konsol Cloud-native API Gateway. Di panel navigasi sebelah kiri, pilih API, lalu pilih wilayah.

    2. Klik API target. Dari daftar drop-down instans, pilih instans target atau All instances.

    3. Pilih entri rute target dari daftar Routes.

    API di dalam instans

    1. Masuk ke Konsol Cloud-native API Gateway. Di panel navigasi sebelah kiri, pilih Instance, lalu pilih Wilayah.

    2. Pada halaman Instance, klik instans target. Di panel navigasi sebelah kiri, pilih API, lalu klik API target.

    3. Pilih entri rute target dari daftar Routes.

  2. Klik tab Configure Policy, lalu klik Enable Policy/Plug-in di bagian Inbound Processing.

  3. Klik kartu CORS. Di panel Add Policy: CORS, konfigurasikan parameter, lalu klik Add.

    Catatan

    Kebijakan CORS tidak berlaku untuk layanan mock. Gunakan layanan backend nyata untuk pengujian.

    Parameter

    Deskripsi

    Enable

    Nyalakan sakelar Enable.

    • Diaktifkan: Origin pihak ketiga tertentu dapat mengakses resource server Anda melalui browser.

    • Dinonaktifkan: Tidak ada origin pihak ketiga yang dapat mengakses resource server Anda melalui browser.

    Allowed Origins

    Origin yang diizinkan mengakses resource server Anda. Format yang didukung:

    • Semua origin: *.

    • Pencocokan subdomain wildcard: *.example.com.

    • Beberapa origin spesifik: masukkan setiap origin pada baris terpisah, diawali dengan http:// atau https://.

    Catatan

    Memetakan ke header Access-Control-Allow-Origin. Ketika Origin permintaan sesuai dengan origin yang diizinkan, header respons Access-Control-Allow-Origin akan mengembalikan nilai Origin tersebut.

    Allowed Methods

    Metode HTTP yang diizinkan untuk permintaan lintas asal. Metode umum: GET, POST, PUT, DELETE, HEAD, OPTIONS, dan PATCH.

    Catatan

    Memetakan ke header Access-Control-Allow-Methods.

    Allowed Request Headers

    Header permintaan non-standar yang diizinkan dalam permintaan lintas asal.

    • Semua header: *.

    • Beberapa header spesifik: masukkan setiap nama pada baris terpisah.

    Catatan

    Memetakan ke header Access-Control-Allow-Headers.

    Allowed Response Headers

    Header respons yang diekspos ke skrip sisi klien.

    • Semua header: *.

    • Beberapa header spesifik: masukkan setiap nama pada baris terpisah.

    Catatan

    Memetakan ke header Access-Control-Expose-Headers.

    Allow to Carry Credentials

    Apakah permintaan lintas asal dapat menyertakan kredensial (cookie, otentikasi HTTP).

    Catatan

    Memetakan ke header Access-Control-Allow-Credentials.

    Precheck Expiration Time

    Untuk permintaan tidak sederhana, durasi dalam detik yang dapat digunakan browser untuk menyimpan cache hasil respons preflight (OPTIONS).

    Catatan

    Memetakan ke header Access-Control-Max-Age.

Verifikasi

  • Kirim permintaan uji:

    curl -I -H "Origin: http://example.com" -H "Access-Control-Request-Method: GET" -H 'Host: www.test.com' -X OPTIONS http://121.196.XX.XX/demo/item/list 
  • Output yang diharapkan:

    HTTP/1.1 200 OK
    allow: GET,HEAD,OPTIONS
    x-content-type-options: nosniff
    x-xss-protection: 1; mode=block
    cache-control: no-cache, no-store, max-age=0, must-revalidate
    pragma: no-cache
    expires: 0
    x-frame-options: DENY
    content-length: 0
    date: Tue, 30 Nov 2021 03:20:31 GMT
    x-envoy-upstream-service-time: 6
    access-control-allow-origin: http://example.com
    access-control-allow-credentials: true
    access-control-allow-methods: GET,POST,PUT,DELETE,HEAD,OPTIONS
    access-control-expose-headers: *
    server: istio-envoy

Referensi

Pelajari lebih lanjut tentang CORS di MDN.