全部产品
Search
文档中心

API Gateway:Mengonfigurasi kebijakan berbagi sumber daya lintas domain

更新时间:Nov 10, 2025

Berbagi Sumber Daya Lintas Domain (CORS) merupakan kebijakan keamanan penting yang memungkinkan server aplikasi web mengontrol akses lintas domain, sehingga mendukung transmisi data lintas domain yang aman. Instans API Gateway berbasis cloud-native memungkinkan Anda mengonfigurasi kebijakan CORS pada tingkat entri rute, sehingga Anda dapat mengizinkan akses ke sumber daya dari nama domain tertentu menggunakan metode permintaan tertentu sesuai kebutuhan bisnis. Hal ini membantu mencegah risiko keamanan seperti pemalsuan permintaan lintas situs (CSRF) serta menjamin keandalan dan keamanan layanan.

Mengonfigurasi kebijakan berbagi sumber daya lintas domain

  1. API Gateway berbasis cloud-native menyediakan dua cara untuk mengonfigurasi kebijakan CORS: di luar instans dan di dalam instans:

    API di luar instans

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

    2. Klik API target. Anda dapat memilih instans tempat Anda ingin mengonfigurasi kebijakan CORS dari daftar tarik-turun atau memilih All Instances.image

    3. Pilih entri rute target dari Route List.

    API di dalam instans

    1. Masuk ke Konsol Cloud-native API Gateway. Di panel navigasi sebelah kiri, pilih Instance, lalu pilih wilayah di bilah menu atas.

    2. Di halaman Instance, klik ID instans gerbang target. Di panel navigasi sebelah kiri, pilih API, kemudian klik API target.

    3. Pilih entri rute target dari Route List.

  2. Klik tab Policy Configuration, lalu klik Inbound Processing dan Enable Policy/Plugin.

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

    Catatan

    Kebijakan CORS tidak berlaku untuk layanan mock. Anda harus mengonfigurasi layanan pengujian backend yang sebenarnya.

    Item Konfigurasi

    Deskripsi

    Enable

    Nyalakan sakelar di sebelah kanan Enable.

    • Jika Anda mengaktifkan kebijakan, permintaan CORS diizinkan berdasarkan kebijakan tersebut.

    • Jika Anda menonaktifkan kebijakan, semua permintaan CORS ditolak.

    Allowed Origins

    Nama domain yang diizinkan mengakses sumber daya di server melalui browser. Aturan konfigurasi:

    • Untuk mengizinkan semua asal: *.

    • Untuk mengizinkan asal dari domain root tertentu: *.example.com.

    • Untuk menentukan beberapa asal: Masukkan asal yang dimulai dengan http:// atau https://, dengan setiap asal pada baris terpisah.

    Catatan

    Parameter ini berlaku untuk header Access-Control-Allow-Origin. Ketika header Origin dalam permintaan klien cocok dengan salah satu asal yang diizinkan yang Anda tetapkan, header Access-Control-Allow-Origin dalam tanggapan lintas domain akan diatur ke header Origin dalam permintaan klien.

    Allowed Methods

    Metode HTTP yang diizinkan untuk permintaan CORS. Metode umum meliputi GET, POST, PUT, DELETE, HEAD, OPTIONS, dan PATCH.

    Catatan

    Parameter ini berlaku untuk header Access-Control-Allow-Methods.

    Allowed Request Headers

    Header tambahan yang diizinkan dalam permintaan CORS selain header bawaan browser web. Aturan konfigurasi:

    • Untuk mengizinkan semua header permintaan: *.

    • Untuk menentukan beberapa header permintaan, masukkan setiap header permintaan pada baris terpisah.

    Catatan

    Parameter ini berlaku untuk header Access-Control-Allow-Headers.

    Allowed Response Headers

    Header respons yang dapat diperoleh oleh browser dan file JavaScript. Aturan konfigurasi:

    • Untuk mengizinkan semua header respons: *.

    • Untuk menentukan beberapa header respons, masukkan setiap header respons pada baris terpisah.

    Catatan

    Parameter ini berlaku untuk header Access-Control-Expose-Headers.

    Allow Credentials

    Menentukan apakah kredensial diizinkan dalam permintaan CORS.

    Catatan

    Parameter ini berlaku untuk header Access-Control-Allow-Credentials.

    Preflight Max Age

    Periode maksimum waktu selama permintaan preflight yang menggunakan metode OPTIONS disimpan dalam cache.

    Catatan

    Parameter ini berlaku untuk header Access-Control-Max-Age.

Verifikasi hasil

  • Jalankan perintah berikut untuk mengirim permintaan pengujian:

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

Untuk informasi lebih lanjut, lihat Berbagi sumber daya lintas domain.