全部产品
Search
文档中心

Edge Security Acceleration:Ubah header respons keluar

更新时间:Jan 23, 2026

Header respons keluar dari titik kehadiran (POP) Edge Security Acceleration (ESA) merupakan bagian dari header pesan respons HTTP yang membawa parameter respons tertentu dan meneruskannya ke klien. Anda dapat mengonfigurasi header respons keluar POP ESA untuk mengontrol header respons saat resource dikembalikan. ESA memungkinkan Anda menambahkan, memodifikasi, dan menghapus aturan header respons keluar guna memenuhi berbagai kebutuhan bisnis.

Ikhtisar

Ketika klien meminta sebuah resource, permintaan tersebut pertama kali mencapai ESA. Jika resource tidak ditemukan dalam cache POP ESA, ESA akan mengirimkan origin request ke server origin untuk mengambil data tersebut. Setelah server origin mengembalikan data, POP ESA memodifikasi respons asli berdasarkan aturan header respons yang telah Anda konfigurasi—misalnya, dengan menambahkan, mengganti, atau menghapus bidang tertentu. Terakhir, ESA mengembalikan resource lengkap, termasuk header respons yang telah dimodifikasi, kepada klien. Hal ini membantu Anda menerapkan kontrol akses lintas domain, optimasi kebijakan cache, serta persyaratan bisnis lainnya.

image

Use cases

  • Beritahu klien tentang tipe file resource respons ESA: Misalnya, Anda dapat menambahkan header respons Content-Type: text/html. Ini memberi tahu klien bahwa file respons ESA berformat HTML sehingga dapat dirender dengan benar.

  • Aktifkan akses resource lintas origin: Saat pengguna meminta resource dari nama domain di ESA, Anda dapat mengonfigurasi header respons Access-Control-Allow-Origin dalam pesan respons dari ESA. Ini mengaktifkan akses lintas origin. Untuk informasi selengkapnya, lihat Configure cross-origin resource sharing.

  • Sesuaikan perilaku respons: Anda dapat menambahkan atau memodifikasi header kustom untuk menyesuaikan konten dan format respons yang diterima klien. Hal ini memungkinkan Anda menerapkan fitur tertentu atau menggunakannya untuk tujuan pelacakan.

Catatan

Jika Anda menambahkan beberapa aturan, aturan tersebut dieksekusi secara berurutan dari atas ke bawah dalam daftar aturan. Aturan akan ditimpa oleh aturan berikutnya yang memiliki nama header respons yang sama, yang dapat menyebabkan hasil yang tidak terduga.

Contoh 1

  • Pesan respons berisi header respons test:123.

  • Sebuah aturan ditambahkan untuk mengatur header respons test:321.

Jika pesan respons memenuhi aturan tersebut, header respons asli test:123 akan ditimpa dengan test:321.

Contoh 2

  • Pesan respons berisi header respons test:123.

  • Sebuah aturan ditambahkan untuk mengatur header respons test:321. Kemudian, aturan lain dikonfigurasi untuk menghapus header respons test.

Jika pesan respons memenuhi aturan tersebut, header respons asli test:123 akan dihapus.

Prosedur

Setelah Anda menambahkan aturan, ketika pengguna meminta resource, ESA mencocokkan dan mengeksekusi aturan secara berurutan berdasarkan rule execution priority.

  1. Di Konsol ESA, pilih Websites. Di kolom Website, klik situs target.

  2. Di panel navigasi sebelah kiri, pilih Rules > Transform Rules.

  3. Pilih tab Modify Response Header, klik bagian ESA to Client, lalu klik Create Rule.image

  4. Klik Create Rule. Di bagian If requests match..., atur fitur permintaan pengguna yang akan dicocokkan. Untuk informasi lebih lanjut tentang cara mengonfigurasi aturan, lihat Components of a rule expression.

  5. Di bagian Modify Response Header, pilih Operation, masukkan Response Header Name dan Response Header Value, lalu klik OK.

    Prosedur

    Tipe

    Deskripsi

    Contoh

    Add

    Static

    • Menambahkan header respons yang ditentukan ke respons yang dikirim ke client.

    • Jika header respons sudah berisi header dengan nama yang sama, header baru akan menimpa yang sudah ada.

    Untuk menambahkan header respons dengan nama x-code dan nilai key1, tentukan hal berikut:

    • Response Header Name: x-code

    • Response Header Value: key1

    Dynamic

    Nilai header respons dapat diatur ke expression.

    Untuk menambahkan header respons bernama Client-Ip-Geo-Location dengan nilai ip.geoip.country guna mencatat negara atau wilayah alamat IP client, tentukan hal berikut:

    • Response Header Name: Client-Ip-Geo-Location

    • Response Header Value: ip.geoip.country

    Change

    Static

    Mengubah nilai header respons yang ditentukan dalam respons yang dikirim ke client.

    Untuk memodifikasi header respons bernama x-code menjadi nilai key2, tentukan hal berikut:

    • Response Header Name: x-code

    • Response Header Value: key2

    Dynamic

    Nilai header respons dapat diatur ke expression.

    Untuk memodifikasi header respons bernama Client-Ip-Geo-Location menjadi nilai ip.geoip.country, mengubah nilai header menjadi negara atau wilayah alamat IP client, tentukan hal berikut:

    • Response Header Name: Client-Ip-Geo-Location

    • Response Header Value: ip.geoip.country

    Delete

    Menghapus semua nilai parameter yang sesuai dengan Response Header Name dari respons yang dikirim ke client, terlepas dari apakah terdapat parameter header respons duplikat.

    Untuk menghapus header respons bernama x-code, tentukan Response Header Name: x-code.

    Catatan
    • Jangan mengatur Response Header Name yang diawali dengan ali-inner atau ali-swift.

    • Anda dapat mengonfigurasi beberapa nilai di bidang Response Header Value. Pisahkan dengan koma (,).

    • Operasi delete berlaku untuk skema static maupun dynamic.

    • Operasi modify mengubah header respons yang sudah ada dan hanya berlaku jika header respons dengan nama yang ditentukan sudah ada dalam respons asli.

Contoh konfigurasi

Catatan

Jika Anda menggunakan OSS sebagai server origin dan mengonfigurasi CORS di konsol OSS dan ESA, konfigurasi ESA akan menimpa CORS settings OSS.

Berlaku untuk semua permintaan

Use case

Use case ini memungkinkan semua permintaan dari situs saat ini, seperti example.com, mengakses resource dari origin lainnya.

Langkah-langkah

  1. Di Konsol ESA, pilih Websites. Di kolom Website, klik situs target.

  2. Di panel navigasi sebelah kiri, pilih Rules > Transform Rules. Di halaman Transform Rules, klik tab Modify Response Header. Atur Response Header Position ke ESA to Client, lalu klik tombol Create Rule.image

  3. Di halaman Create Response Header Modification Rule, konfigurasi parameter sebagai berikut:

    1. Rule Name: Masukkan nama aturan kustom, misalnya rule-cors-for-all.

    2. If requests match...: Atur kondisi aturan untuk memfilter permintaan klien. Untuk contoh ini, pilih All Requests.

    3. Then execute...: Atur aksi untuk memodifikasi header respons. Untuk contoh ini, konfigurasikan parameter berikut:

      • Type: Pilih Static.

      • Operation: Pilih Add.

      • Response Header Name: Masukkan Access-Control-Allow-Origin.

      • Response Header Value: Masukkan *.

    image

Hasil

Untuk setiap permintaan lintas origin, ESA menambahkan header Access-Control-Allow-Origin: * ke respons. Browser kemudian dapat memproses respons dan menampilkan resource lintas origin tersebut.

image

Berlaku untuk permintaan tertentu

Use case

Use case ini berlaku ketika nilai header origin dalam permintaan klien merupakan subdomain dari example.com. Use case ini mendukung protokol HTTP dan HTTPS. Sebagai contoh, akses lintas origin diizinkan untuk origin berikut:

  • origin:http://www.example.com

  • origin:https://www.example.com

  • origin:http://image.example.com

  • origin:https://image.example.com

Tambahkan header CORS ke respons. Nilai header respons CORS harus sama dengan nilai header origin dalam permintaan.

Langkah-langkah konfigurasi

  1. Di Konsol ESA, pilih Websites. Di kolom Website, klik situs target.

  2. Di panel navigasi sebelah kiri, pilih Rules > Transform Rules. Di halaman Transform Rules, klik tab Modify Response Header. Atur Response Header Position ke ESA to Client, lalu klik tombol Create Rule.image

  3. Di halaman Create Response Header Modification Rule, konfigurasi parameter sebagai berikut:

    1. Rule Name: Masukkan nama aturan kustom, misalnya rule-cors-origin.

    2. If requests match...: Atur kondisi aturan untuk memfilter permintaan klien. Hal ini memastikan bahwa aksi hanya dieksekusi untuk permintaan yang memenuhi kriteria tertentu. Untuk contoh ini, atur kondisi menjadi Header Value of origin matches regex ^https?://(?:[a-zA-Z0-9](?:[a-zA-Z0-9\-]*[a-zA-Z0-9])?\.)+example\.com$.

      Anda juga dapat langsung mengedit ekspresi sebagai berikut: (http.request.headers["origin"] matches "^https?://(?:[a-zA-Z0-9](?:[a-zA-Z0-9\-]*[a-zA-Z0-9])?\.)+example\.com$")
      Catatan

      Jika paket Anda tidak mendukung pencocokan dengan ekspresi reguler, gunakan operator is in dan cantumkan daftar nilai header origin yang diizinkan.

      Anda juga dapat langsung mengedit ekspresi sebagai berikut: (http.request.headers["origin"] in {"http://www.example.com" "https://www.example.com" "http://image.example.com" "https://image.example.com"})

      image

    3. Then execute...: Atur aksi untuk memodifikasi header respons. Untuk contoh ini, konfigurasi parameter berikut:

      • Type: Pilih Dynamic.

      • Operation: Pilih Add.

      • Response Header Name: Masukkan Access-Control-Allow-Origin.

      • Response Header Value: Masukkan http.request.headers["origin"].

    image

Hasil

Ketika permintaan lintas origin dilakukan, jika header origin dalam permintaan sesuai dengan aturan, ESA menambahkan header Access-Control-Allow-Origin ke respons. Nilai header ini sama dengan nilai header Origin dari permintaan klien. Browser kemudian dapat memproses respons dan menampilkan resource lintas origin tersebut.

image

Deskripsi parameter header respons

Parameter header respons

Deskripsi

Contoh

Custom

Anda dapat menambahkan header respons kustom. Nama header respons kustom harus memenuhi persyaratan berikut:

  • Terdiri dari huruf besar, huruf kecil, tanda hubung (-), dan angka.

  • Panjangnya antara 1 hingga 100 karakter.

Test-Header

Cache-Control

Menentukan mekanisme caching yang harus diikuti oleh permintaan dan respons program client.

no-cache

Content-Disposition

Menentukan nama file default saat program client menyimpan konten yang diminta sebagai file.

examplefile.txt

Content-Type

Menentukan tipe konten objek respons untuk program client.

text/plain

Pragma

Pragma adalah header umum yang didefinisikan dalam HTTP/1.0. Header ini biasanya digunakan dalam respons server untuk menentukan perilaku caching client terhadap file.

no-cache

Access-Control-Allow-Origin

Menentukan origin mana yang dapat mengakses resource. Ini merupakan bagian dari mekanisme Berbagi Sumber Daya Lintas Asal (CORS, Cross-Origin Resource Sharing), yang memungkinkan server menyatakan apakah resource-nya dapat diakses oleh nama domain origin tertentu. Nilai header respons ini mendukung tipe berikut:

  • Karakter wildcard *: Gunakan karakter wildcard untuk mengizinkan origin apa pun mengakses resource. Metode ini sangat longgar dan cocok untuk sumber daya publik yang dapat diakses tanpa otentikasi atau otorisasi. Namun, gunakan karakter wildcard dengan hati-hati di lingkungan produksi karena dapat menimbulkan risiko keamanan, seperti serangan pemalsuan permintaan lintas situs (CSRF).

  • Origin tunggal yang ditentukan: Anda dapat menentukan nama domain origin tertentu untuk hanya mengizinkan origin tersebut mengakses resource. Contohnya, http://example.com atau https://api.example.com. Hal ini mengharuskan permintaan berasal dari origin yang ditentukan. Jika tidak, permintaan akan ditolak.

  • *

  • http://www.aliyun.com

Access-Control-Allow-Methods

Menentukan metode yang diizinkan untuk permintaan lintas origin. Pisahkan beberapa metode dengan koma (,).

POST,GET

Access-Control-Allow-Headers

Menentukan bidang yang diizinkan untuk permintaan lintas origin.

X-Custom-Header

Access-Control-Expose-Headers

Menentukan header kustom yang dapat diakses.

Content-Length

Access-Control-Allow-Credentials

Header respons ini menunjukkan apakah respons terhadap permintaan dapat diekspos ke halaman.

  • true: Respons dapat diekspos.

  • Nilai lain: Respons tidak dapat diekspos.

true

Access-Control-Max-Age

Menentukan durasi cache untuk hasil permintaan preflight resource tertentu untuk program client, dalam satuan detik.

600

Referensi

Fitur terkait aturan memiliki variasi dalam execution priorityrule behavior, dan configuration scope. Untuk informasi selengkapnya, lihat How ESA rules take effect.