Header permintaan HTTP adalah komponen pesan permintaan HTTP yang berisi parameter untuk server. Anda dapat mengonfigurasi aturan untuk header permintaan HTTP origin guna meneruskan parameter tertentu ke server origin Anda. Edge Security Acceleration (ESA) memungkinkan Anda menambah, memodifikasi, dan menghapus aturan ini sesuai berbagai kebutuhan bisnis.
Pendahuluan
Ketika klien meminta sebuah resource, permintaan tersebut pertama kali mencapai ESA. Jika permintaan tersebut menghasilkan cache miss pada Titik Kehadiran (POP) ESA, POP ESA akan mengirim permintaan origin yang berisi header permintaan HTTP keluar ke server origin untuk mengambil data. Anda dapat menyesuaikan header permintaan HTTP keluar sesuai kebutuhan:
Catatan
Kapan aturan diterapkan: Fitur ini hanya dipicu ketika suatu permintaan menghasilkan cache miss pada Titik Kehadiran (POP) ESA dan konten harus diambil dari server origin selama proses origin fetch. Aturan tidak dieksekusi untuk permintaan yang menghasilkan cache hit dan dilayani langsung oleh POP ESA.
Urutan eksekusi: Jika satu aturan berisi beberapa operasi, operasi tersebut dieksekusi secara berurutan dari atas ke bawah. Jika beberapa operasi menargetkan header permintaan yang sama, operasi terakhir akan menimpa hasil operasi sebelumnya. Misalnya, jika permintaan klien asli berisi header
test:123, dan aturan dikonfigurasi untuk pertama-tama menambahkan headertest:321lalu menghapus headertest, maka headertestakan sepenuhnya dihapus dari permintaan origin.
Prosedur
Setelah Anda menambahkan aturan, ketika pengguna meminta sebuah resource, ESA akan mencocokkan dan mengeksekusi aturan secara berurutan berdasarkan prioritas eksekusi aturan.
Di Konsol ESA, pilih Websites, lalu klik situs target di kolom Website.
Di panel navigasi sebelah kiri, pilih .
Klik tab Modify request header, pilih item ESA to Origin, lalu klik Create Rule.

Di area Add Request Header Modification Rule, konfigurasikan hal berikut:
Rule Name: Masukkan nama aturan kustom.
If requests match...: Pilih kondisi untuk mencocokkan permintaan.
All Requests: Aturan berlaku untuk semua permintaan pada situs saat ini.
Filtered Requests: Aturan hanya berlaku untuk traffic yang sesuai dengan ekspresi kustom. Konfigurasikan ekspresi kustom untuk memfilter traffic.
Modify Request Header: Aksi yang akan dilakukan pada permintaan yang cocok.
Operation
Type
Description
Example
Add
Static
Menambahkan header permintaan yang ditentukan ke permintaan origin.
Jika permintaan klien sudah berisi header dengan nama yang sama, header baru akan menimpa header yang ada.
Untuk menambahkan header permintaan bernama
x-codedengan nilaikey1, masukkan hal berikut:Request Header Name:
x-codeRequest Header Value:
key1
Dynamic
Nilai header dapat diatur ke ekspresi.
Untuk menambahkan header permintaan bernama
True-Client-IPdengan nilaiip.srcguna mencatat alamat IP asal klien, masukkan hal berikut:Request Header Name:
True-Client-IPRequest Header Value:
ip.src
Change
Static
Mengubah nilai header permintaan tertentu dalam permintaan origin.
Untuk mengubah nilai header permintaan bernama
x-codemenjadikey2dalam permintaan origin, masukkan hal berikut:Request Header Name:
x-codeRequest Header Value:
key2
Dynamic
Nilai header dapat diatur ke ekspresi.
Untuk mengubah header permintaan bernama
True-Client-IPmenjadi nilaiip.srcdalam permintaan origin, sehingga nilainya disetel ke alamat IP asal klien, masukkan hal berikut:Request Header Name:
True-Client-IPRequest Header Value:
ip.src
Delete
Menghapus semua header dari permintaan origin yang sesuai dengan Request Header Name yang ditentukan, terlepas dari apakah terdapat parameter header duplikat.
Untuk menghapus header permintaan bernama
x-code, masukkan Request Header Name:x-code.
CatatanJangan mengonfigurasi Request Header Name yang diawali dengan
ali-atauAli-.Untuk mengonfigurasi beberapa nilai pada Request Header Value, pisahkan dengan koma (
,).Operasi delete berlaku sama untuk pola static maupun dynamic.
Operasi modify mengubah header yang sudah ada. Operasi ini hanya berlaku jika header dengan nama yang ditentukan sudah ada dalam permintaan asli.
Dalam satu aturan, beberapa operasi dieksekusi secara berurutan. Jika operasi berbeda menargetkan nama header yang sama, operasi terakhir akan menimpa operasi sebelumnya.
Contoh konfigurasi ekspresi
Menambahkan alamat IP asal klien
Kasus penggunaan
Tambahkan header permintaan untuk mencatat alamat IP asal klien pada semua permintaan masuk.
Prosedur
Di Konsol ESA, pilih Websites, lalu klik situs target di kolom Website.
Di panel navigasi sebelah kiri, pilih .
Klik tab Modify request header, pilih item ESA to Origin, lalu klik Create Rule.

Di bagian Add Request Header Modification Rule, tentukan parameter berikut:
Rule Name: Masukkan nama aturan kustom, misalnya
add-client-ip-out.If requests match...: Pilih All Requests. Ini menerapkan aturan ke semua permintaan untuk situs saat ini.
Modify Request Header:
Type: Dynamic
Operation: Add
Request Header Name:
True-Client-IP-OUTRequest Header Value:
ip.src

Verifikasi
Sebelum konfigurasi: Header permintaan tidak menyertakan alamat IP asal klien.

Setelah konfigurasi: Header true-client-ip-out, yang berisi alamat IP asal klien, ditambahkan ke header permintaan.

Menambahkan kode negara yang sesuai dengan alamat IP klien
Kasus penggunaan
Tambahkan header permintaan untuk mencatat kode negara yang sesuai dengan alamat IP klien pada semua permintaan yang tidak berasal dari China (Hong Kong).
Prosedur
Di Konsol ESA, pilih Websites, lalu klik situs target di kolom Website.
Di panel navigasi sebelah kiri, pilih .
Klik tab Modify request header, pilih item ESA to Origin, lalu klik Create Rule.

Di bagian Add Request Header Modification Rule, tentukan parameter berikut:
Rule Name: Masukkan nama aturan kustom, misalnya
add-client-country.If requests match...: Pilih Filtered Requests dan masukkan
Country/Region does not equal China (Hong Kong).Anda juga dapat langsung mengedit ekspresi sebagai berikut:
(ip.geoip.country ne "HK")Modify Request Header:
Type: Dynamic
Operation: Add
Request Header Name:
IP-Country-CodeRequest Header Value:
ip.geoip.country

Verifikasi
Sebelum konfigurasi: Header permintaan tidak menyertakan informasi negara yang sesuai dengan alamat IP klien.

Setelah konfigurasi: Header ip-country-code, yang berisi kode negara yang sesuai dengan alamat IP klien, ditambahkan ke header permintaan.

Menambahkan kode provinsi yang sesuai dengan alamat IP klien
Kasus penggunaan
Tambahkan header permintaan untuk mencatat kode provinsi yang sesuai dengan alamat IP klien pada permintaan yang path URI-nya adalah /content.
Prosedur
Di Konsol ESA, pilih Websites, lalu klik situs target di kolom Website.
Di panel navigasi sebelah kiri, pilih .
Klik tab Modify request header, pilih item ESA to Origin, lalu klik Create Rule.

Di bagian Add Request Header Modification Rule, tentukan parameter berikut:
Rule Name: Masukkan nama aturan kustom, misalnya
add-client-province.If requests match...: Pilih Filtered Requests dan masukkan
URI Path equals /content.Anda juga dapat langsung mengedit ekspresi sebagai berikut:
(http.request.uri.path eq "/content")Modify Request Header:
Type: Dynamic
Operation: Add
Request Header Name:
IP-Province-CodeRequest Header Value:
ip.src.subdivision_1_iso_code

Verifikasi
Sebelum konfigurasi: Header permintaan tidak menyertakan informasi provinsi yang sesuai dengan alamat IP klien.

Setelah konfigurasi: Header ip-province-code, yang berisi kode provinsi yang sesuai dengan alamat IP klien, ditambahkan ke header permintaan.

Referensi
Fitur terkait aturan memiliki perbedaan dalam prioritas eksekusi, perilaku aturan, dan cakupan konfigurasi. Untuk informasi lebih lanjut, lihat How ESA rules take effect.