All Products
Search
Document Center

CDN:Referensi variabel CDN

Last Updated:Oct 28, 2026

Saat mengonfigurasi fitur CDN tertentu, seperti memodifikasi header respons keluar atau header permintaan, Anda dapat menggunakan variabel untuk memperoleh konteks dari permintaan atau respons saat ini. Variabel mengembalikan nilai seperti metode permintaan, URL, dan alamat IP client, yang memungkinkan kontrol detail halus. Topik ini menjelaskan semua variabel yang didukung oleh CDN, beserta contoh nilai dan catatan penggunaan untuk setiap variabel.

Ikhtisar variabel

Variabel CDN dikelompokkan berdasarkan domain efektif menjadi variabel domain akses, variabel domain pengambilan asal, dan variabel respons:

  • Variabel domain akses: Variabel yang berlaku pada domain akses, tempat node CDN memproses permintaan client dan menghasilkan kunci cache.

  • Variabel domain pengambilan asal: Variabel yang berlaku selama pengambilan asal. Beberapa fitur diterapkan pada modul domain pengambilan asal. Dalam kasus ini, variabel domain akses tidak berlaku dan harus diganti dengan variabel domain pengambilan asal.

  • Variabel respons: Variabel ini digunakan untuk mendapatkan header respons yang dikembalikan oleh server origin ke node CDN.

Tabel berikut mencantumkan kelompok variabel dan variabel di setiap domain efektif:

Domain efektif

Kelompok variabel

Variabel

Domain akses

Metode permintaan

$request_method

Domain akses

Versi HTTP

$server_protocol

Domain akses

URI

$uri, $raw_uri, dan $request_uri

Domain akses

Parameter permintaan

$args dan $arg_<parameter-name>

Domain akses

Header permintaan

$http_<request-header-name>

Domain akses

Nama domain

$host

Domain akses

Protokol permintaan

$scheme

Domain akses

Cookie

$cookie_<parameter-name>

Domain akses

Alamat IP dan port

$remote_addr, $remote_port, $x_server_addr, dan $x_server_port

Domain akses

Geolokasi IP dan penyedia layanan

$ip_isp_id, $ip_isp_en, $ip_country_id, $ip_country_en, $ip_region_id, $ip_region_en, $ip_city_id, $ip_city_en, $ip_longitude, dan $ip_latitude

Domain akses

SSL/TLS

$ssl_cipher, $ssl_protocol, $ssl_client_cert, $ssl_client_raw_cert, $ssl_client_serial, $ssl_verify, $ssl_client_s_dn, dan $ssl_client_i_dn

Domain akses

Nama node

$hostname

Domain pengambilan asal

Protokol

$http_x_client_scheme dan $proxy_scheme

Domain pengambilan asal

Server origin

$proxy_source

Variabel respons

Header respons origin

$sent_http_<response-header-name>

Fitur yang mendukung variabel

Fitur dalam domain akses

Fitur dalam domain pengambilan asal

Batasan

Sebelum mereferensikan variabel, perhatikan kondisi dan batasan berikut yang berlaku secara umum:

  • Variabel SSL/TLS hanya berlaku untuk permintaan HTTPS. Nilainya kosong jika direferensikan dalam permintaan HTTP.

  • Variabel $ssl_client_* hanya memiliki nilai jika verifikasi sertifikat client (otentikasi timbal balik atau mTLS) dikonfigurasi. Nilainya kosong untuk permintaan HTTPS standar.

  • Resolusi GeoIP memiliki batasan akurasi. Bidang tingkat kota dan garis bujur/lintang umumnya mengidentifikasi pusat kota dan tidak cocok untuk kasus penggunaan pemblokiran yang memerlukan geofencing presisi. Jika alamat IP client tidak dapat diidentifikasi, bidang terkait akan mengembalikan nilai default (misalnya, kode negara mengembalikan XX, dan kode numerik mengembalikan 0).

  • Nilai $uri mungkin diubah oleh logika perutean permintaan internal CDN, seperti pengalihan atau penulisan ulang internal. Penggunaan variabel ini tidak disarankan. Untuk mendapatkan path yang tidak berubah, gunakan $raw_uri.

Konvensi penamaan variabel header

Saat CDN memproses header permintaan HTTP dan header respons, sistem secara otomatis memetakannya ke variabel internal. Nama variabel harus mengikuti aturan berikut:

  • Awalan tetap: Semua variabel header permintaan harus dimulai dengan $http_, dan semua variabel header respons harus dimulai dengan $sent_http_.

  • Konversi huruf kecil: Semua huruf besar dalam nama header harus dikonversi menjadi huruf kecil.

  • Penggantian tanda hubung: Semua tanda hubung (-) dalam nama header harus diganti dengan garis bawah (_).

Contoh konversi:

Nama header asli

Variabel hasil konversi

Accept-Language

$http_accept_language

X-Forwarded-For

$http_x_forwarded_for

X-Customize-Header

$http_x_customize_header

Variabel dalam domain akses

Metode permintaan

$request_method

  • Deskripsi: Metode permintaan HTTP yang digunakan oleh permintaan saat ini.

  • Contoh nilai: GET, POST, HEAD, PUT, DELETE, dan lainnya.

Versi HTTP

$server_protocol

  • Deskripsi: Versi protokol HTTP yang digunakan oleh permintaan saat ini.

  • Contoh nilai: HTTP/1.1 dan HTTP/2.0.

URI

$uri

  • Deskripsi: Path URL dari permintaan saat ini, tidak termasuk parameter kueri.

  • Contoh nilai: /1.txt.

  • Catatan: Nilai ini mungkin diubah oleh logika perutean permintaan internal CDN, seperti pengalihan atau penulisan ulang internal. Penggunaan variabel ini tidak disarankan. Untuk mendapatkan path yang tidak berubah, gunakan $raw_uri.

$raw_uri

  • Deskripsi: Path URL dari permintaan asli, tidak termasuk parameter kueri. Logika perutean permintaan internal CDN tidak mengubah nilai ini.

  • Contoh nilai: /1.txt.

$request_uri

  • Deskripsi: Path URL lengkap dari permintaan asli, termasuk parameter kueri.

  • Contoh nilai: /1.txt?chapter=1&flag=on.

Parameter permintaan

$args

  • Deskripsi: String parameter kueri lengkap dalam URL (tidak termasuk ?).

  • Contoh nilai: chapter=1&flag=on.

$arg_<parameter-name>

  • Deskripsi: Nilai dari parameter tertentu dalam parameter kueri URL. Ganti <parameter-name> dengan nama parameter aktual.

  • Contoh nilai: $arg_flag mengekstrak nilai dari URL /1.txt?chapter=1&flag=on. Nilai parameter flag adalah on.

Header permintaan

$http_<request-header-name>

  • Deskripsi: Nilai dari header permintaan HTTP tertentu dalam permintaan client. Ganti <request-header-name> dengan nama header permintaan aktual.

  • Contoh nilai: $http_user_agent merepresentasikan nilai header permintaan User-Agent, dan $http_referer merepresentasikan nilai header permintaan Referer.

  • Catatan: Nama variabel header permintaan harus mengikuti Konvensi penamaan variabel header.

Nama domain

$host

  • Deskripsi: Nama domain asli dalam permintaan client, yaitu nilai dari header permintaan Host: <domain-name>.

  • Contoh nilai: www.example.com.

Protokol permintaan

$scheme

  • Deskripsi: Jenis protokol yang digunakan oleh permintaan saat ini.

  • Contoh nilai: http atau https.

Alamat IP dan port

$remote_addr

  • Deskripsi: Alamat IP client.

  • Contoh nilai: 30.40.XX.XXX.

$remote_port

  • Deskripsi: Nomor port client.

  • Contoh nilai: 63213.

$x_server_addr

  • Deskripsi: Alamat IP tujuan, yaitu alamat IP virtual (VIP) yang diekspos secara eksternal oleh node CDN.

  • Contoh nilai: 122.228.XX.XXX.

$x_server_port

  • Deskripsi: Port tujuan, yaitu port layanan yang diekspos secara eksternal oleh node CDN.

  • Contoh nilai: 80 atau 443.

Geolokasi IP dan penyedia layanan

CDN menggunakan alamat IP client ($remote_addr) untuk meresolusi informasi geolokasi dan penyedia layanannya. Nilai variabel ini didasarkan pada hasil resolusi GeoIP. Resolusi GeoIP memiliki batasan akurasi. Bidang tingkat kota dan garis bujur/lintang umumnya mengidentifikasi pusat kota dan tidak cocok untuk kasus penggunaan pemblokiran yang memerlukan geofencing presisi. Jika alamat IP client tidak dapat diidentifikasi, bidang terkait akan mengembalikan nilai default (misalnya, kode negara mengembalikan XX, dan kode numerik mengembalikan 0). Setiap dimensi menyediakan dua bentuk nilai: kode (dengan akhiran _id) dan nama bahasa Inggris (dengan akhiran _en).

$ip_isp_id

  • Deskripsi: Kode penyedia layanan tempat alamat IP client berada.

  • Contoh nilai: Untuk China Telecom, 100017.

$ip_isp_en

  • Deskripsi: Nama bahasa Inggris dari penyedia layanan tempat alamat IP client berada.

  • Contoh nilai: Untuk China Telecom, ChinaTelecom.

$ip_country_id

  • Deskripsi: Kode negara atau wilayah tempat alamat IP client berada.

  • Contoh nilai: Untuk Tiongkok, CN.

$ip_country_en

  • Deskripsi: Nama bahasa Inggris dari negara atau wilayah tempat alamat IP client berada.

  • Contoh nilai: Untuk Tiongkok, China.

$ip_region_id

  • Deskripsi: Kode wilayah atau provinsi tempat alamat IP client berada.

  • Contoh nilai: Untuk Provinsi Guangdong, 440000.

$ip_region_en

  • Deskripsi: Nama bahasa Inggris dari wilayah atau provinsi tempat alamat IP client berada.

  • Contoh nilai: Untuk Provinsi Guangdong, guangdong.

$ip_city_id

  • Deskripsi: Kode kota tempat alamat IP client berada.

  • Contoh nilai: Untuk Shenzhen, 440300.

$ip_city_en

  • Deskripsi: Nama bahasa Inggris dari kota tempat alamat IP client berada.

  • Contoh nilai: Untuk Shenzhen, shenzhen.

$ip_longitude

  • Deskripsi: Garis bujur dari kota tempat alamat IP client berada.

  • Contoh nilai: Untuk Shenzhen, 114.05787.

$ip_latitude

  • Deskripsi: Garis lintang dari kota tempat alamat IP client berada.

  • Contoh nilai: Untuk Shenzhen, 22.54309.

SSL/TLS

Variabel SSL/TLS memberikan informasi sesi tentang permintaan HTTPS.

Penting
  • Variabel ini hanya berlaku untuk permintaan HTTPS. Nilainya kosong jika direferensikan dalam permintaan HTTP.

  • Variabel $ssl_client_* juga mengharuskan verifikasi sertifikat client dikonfigurasi terlebih dahulu. Nilainya kosong untuk permintaan HTTPS standar.

$ssl_cipher

  • Deskripsi: Paket sandi (kombinasi algoritma kriptografi) yang digunakan oleh permintaan saat ini.

  • Contoh nilai: TLS_AES_256_GCM_SHA384.

$ssl_protocol

  • Deskripsi: Versi protokol SSL/TLS yang digunakan oleh permintaan saat ini.

  • Contoh nilai: TLSv1.3.

$ssl_client_cert

  • Deskripsi: Data sertifikat klien (konten sertifikat dikembalikan).

$ssl_client_raw_cert

  • Deskripsi: Data mentah dari sertifikat klien (penggunaannya sama dengan $ssl_client_cert, dan teks sertifikat asli dipertahankan).

$ssl_client_serial

  • Deskripsi: Nomor seri dari sertifikat klien.

$ssl_verify

  • Deskripsi: Hasil verifikasi sertifikat klien. Nilainya adalah SUCCESS saat verifikasi berhasil.

  • Contoh nilai: SUCCESS.

$ssl_client_s_dn

  • Deskripsi: Subject distinguished name (DN) dari sertifikat klien.

$ssl_client_i_dn

  • Deskripsi: Issuer distinguished name (DN) dari sertifikat klien.

Nama node

$hostname

  • Deskripsi: Hostname dari node CDN yang memproses permintaan saat ini.

  • Contoh nilai: cn2522 (nama node aktual yang berlaku).

Variabel dalam domain pengambilan asal

$scheme, $http_x_client_scheme, dan $proxy_scheme semuanya mengembalikan jenis protokol (http atau https), namun berbeda dalam domain efektif dan nilai yang dikembalikan masing-masing:

Variabel

Domain efektif

Deskripsi

$scheme

Domain akses

Jenis protokol yang digunakan oleh permintaan saat ini

$http_x_client_scheme

Domain pengambilan asal

Jenis protokol yang digunakan client untuk memulai permintaan (skema client)

$proxy_scheme

Domain pengambilan asal

Jenis protokol yang digunakan node CDN untuk pengambilan asal (skema pengambilan asal)

Protokol

$http_x_client_scheme

  • Deskripsi: Jenis protokol yang digunakan client untuk memulai permintaan (skema client).

  • Contoh nilai: http atau https.

$proxy_scheme

  • Deskripsi: Jenis protokol yang digunakan node CDN untuk pengambilan asal (skema pengambilan asal).

  • Contoh nilai: http atau https.

Server origin

$proxy_source

  • Deskripsi: Alamat server origin tempat permintaan saat ini benar-benar dikirim untuk pengambilan asal.

  • Contoh nilai: origin.example.com atau 192.0.2.1.

Header respons origin

$sent_http_<response-header-name>

  • Deskripsi: Nilai dari header respons HTTP tertentu dalam respons origin. Ganti <response-header-name> dengan nama header respons aktual.

  • Contoh nilai: $sent_http_content_type merepresentasikan nilai header respons Content-Type dari server origin, seperti text/html.

  • Catatan: Nama variabel header respons harus mengikuti Konvensi penamaan variabel header.