全部产品
Search
文档中心

Microservices Engine:Konfigurasikan Kebijakan CORS

更新时间:Jun 28, 2025

Berbagi Sumber Daya Lintas Asal (CORS) adalah kebijakan keamanan penting yang memungkinkan server aplikasi web mengontrol akses lintas asal. Kebijakan ini mendukung transmisi data aman lintas asal. Gateway berbasis cloud-native memungkinkan Anda mengonfigurasi kebijakan CORS di tingkat rute. Anda dapat mengakses sumber daya dari nama domain tertentu menggunakan metode permintaan spesifik sesuai dengan kebutuhan bisnis Anda. Hal ini membantu mencegah risiko keamanan seperti pemalsuan permintaan lintas situs dan memastikan keandalan serta keamanan layanan.

Konfigurasikan Kebijakan CORS

  1. Masuk ke Konsol MSE. Di bilah navigasi atas, pilih wilayah.

  2. Di panel navigasi kiri, pilih Cloud-native Gateway > Gateways. Pada halaman Gateways, klik ID gateway.

  3. Di panel navigasi kiri, klik Routes. Kemudian, klik tab Routes.

  4. Pada tab Routes, temukan aturan routing yang ingin dimodifikasi dan klik Policies di kolom Actions.

  5. Pada tab Policies, klik CORS.

    Catatan

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

  6. Konfigurasikan parameter pada tab CORS dan klik Simpan.

    Parameter

    Deskripsi

    Allowed Origins

    Asal yang diizinkan untuk mengakses sumber daya di server saat ini melalui browser. Aturan konfigurasi:

    • Untuk menentukan semua asal, masukkan tanda bintang (*).

    • Untuk menentukan nama domain utama, gunakan tanda bintang (*) sebagai karakter wildcard dalam nama domain, seperti *.example.com.

    • Untuk menentukan beberapa asal, masukkan setiap asal di baris terpisah. Setiap asal harus dimulai dengan http:// atau https://.

    Catatan

    Nama domain yang ditentukan adalah nilai dari header Access-Control-Allow-Origin. Jika header Origin dari permintaan yang dikirim oleh klien cocok dengan asal yang ditentukan dalam parameter ini, header Access-Control-Allow-Origin dalam respons diatur ke nilai Origin dari permintaan.

    Allowed Methods

    Metode HTTP yang diizinkan untuk permintaan CORS. Nilai valid: GET, POST, PUT, DELETE, HEAD, OPTIONS, dan PATCH.

    Catatan

    Metode yang ditentukan adalah nilai dari header Access-Control-Allow-Methods.

    Allowed Request Headers

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

    • Untuk menentukan semua header permintaan, masukkan tanda bintang (*).

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

    Catatan

    Header yang ditentukan adalah nilai dari header Access-Control-Allow-Headers.

    Allowed Response Headers

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

    • Untuk menentukan semua header respons, masukkan tanda bintang (*).

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

    Catatan

    Header yang ditentukan adalah nilai dari header Access-Control-Expose-Headers.

    Allow to Carry Credentials

    Menentukan apakah akan mengizinkan kredensial dalam permintaan CORS.

    Catatan

    Nilai parameter ini adalah nilai dari header Access-Control-Allow-Credentials.

    Precheck Expiration Time

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

    Catatan

    Jangka waktu yang ditentukan adalah nilai dari header Access-Control-Max-Age.

    Enable

    Menentukan apakah akan mengaktifkan kebijakan CORS.Enable

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

    • Jika Anda menonaktifkan kebijakan, semua permintaan CORS ditolak.

Verifikasi hasil

  • Jalankan perintah berikut untuk memeriksa hasil:

    curl -I -H "Origin: http://example.com" -H 'Host: www.test.com' -X OPTIONS http://121.196.XX.XX/demo/item/list
  • Respons yang mirip dengan berikut ini akan dikembalikan:

    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-expose-headers: *
    server: istio-envoy

Referensi

Untuk informasi lebih lanjut tentang CORS, lihat Berbagi Sumber Daya Lintas Asal (CORS).