全部产品
Search
文档中心

CDN:Mesin Aturan

更新时间:Jul 06, 2025

Mesin Aturan menyediakan antarmuka pengguna grafis yang mempermudah konfigurasi aturan. Anda dapat mengonfigurasi aturan untuk mengidentifikasi permintaan pengguna berdasarkan parameter yang mereka bawa, guna menentukan apakah suatu konfigurasi berlaku untuk permintaan tersebut. Ini memberikan metode yang lebih fleksibel dan akurat dalam mengelola konfigurasi dan kebijakan di Alibaba Cloud CDN.

Informasi latar belakang

Konsol CDN menyediakan fitur dasar seperti aturan kedaluwarsa cache dan penulisan ulang parameter, yang cocok untuk sebagian besar skenario tetapi tidak memenuhi kebutuhan semua pengguna. Misalnya, CDN tidak mendukung pengalihan permintaan dengan jalur tertentu, seperti /example, ke alamat server asal tertentu. Untuk menerapkan konfigurasi kustom yang fleksibel, Anda dapat menggunakan fitur dasar bersama dengan Mesin Aturan. Anda juga dapat menggunakan EdgeScript untuk konfigurasi yang lebih kompleks. Untuk informasi lebih lanjut, lihat Ikhtisar EdgeScript.

Kemampuan

Fitur dasar

Fitur dasar + mesin aturan

EdgeScript

Konfigurasi

Konfigurasi umum

Konfigurasi fleksibel

Konfigurasi sangat fleksibel

Skenario

Permintaan umum

Permintaan kustom tingkat lanjut

Permintaan sepenuhnya disesuaikan

Kemudahan penggunaan (pengetahuan teknis diperlukan)

Rendah

Sedang

Tinggi

Fleksibilitas konfigurasi

Rendah

Sedang

Tinggi

Catatan penggunaan

  • Anda dapat membuat maksimal 50 aturan untuk setiap nama domain.

  • Anda dapat membuat maksimal 20 sub-aturan dalam setiap aturan.

  • Jika Anda membuat aturan menggunakan konsol atau memanggil operasi API, Anda tidak dapat menggunakan operator terkait ekspresi reguler, termasuk pencocokan dan ketidakcocokan ekspresi reguler. Namun, Anda dapat melihat aturan yang ada yang mencakup operator tersebut. Kirim tiket atau pilih Edge Security Acceleration (ESA) untuk menggunakan operator terkait ekspresi reguler.

  • Jika Anda membuat aturan menggunakan konsol atau memanggil operasi API, aturan tersebut dapat dirujuk maksimal lima kali di seluruh fitur untuk sebuah nama domain.

  • Aturan mendukung hingga tiga tingkat sarang. Anda dapat mengonfigurasi pernyataan logis lengkap dalam setiap tingkat.

Sintaksis aturan

Sebuah aturan terdiri dari operator logika dan ekspresi kondisional.

Logika

Operator logika menghubungkan ekspresi dalam kondisi aturan untuk melakukan operasi logika. Operator logika berikut didukung:

  • and: operator konjungsi logis. Kondisi aturan cocok hanya jika semua ekspresi dalam kondisi aturan benar.

  • or: operator disjungsi logis. Kondisi aturan cocok jika salah satu ekspresi dalam kondisi aturan benar.

Parameter dalam ekspresi kondisional

Ekspresi paling sederhana mencakup komponen yang dijelaskan dalam tabel berikut.

Nama

Parameter yang sesuai dalam fungsi kondisi

Deskripsi

Diperlukan

Pencocokan kondisional

match

Ekspresi pencocokan kondisional.

Ya

Penilaian logis

logic

Parameter penilaian logis dari ekspresi pencocokan kondisional. Nilai valid: and/or.

Ya

Kriteria penilaian kondisional

criteria

Kriteria penilaian dari ekspresi pencocokan kondisional.

Ya

Jenis pencocokan

MatchType

Jenis informasi yang akan dicocokkan. Ekspresi mencoba mencocokkan jenis informasi spesifik yang dibawa dalam permintaan pengguna.

Ya

Objek pencocokan

MatchObject

Subdivisi dari jenis pencocokan. Misalnya, alamat IP klien dapat dibagi menjadi alamat IP yang digunakan untuk terhubung ke titik kehadiran (POPs) dan alamat IP X-Forwarded-For (XFF).

Tidak

Operator pencocokan

MatchOperator

Operator pencocokan.

Ya

Nilai pencocokan

MatchValue

Nilai preset yang akan dicocokkan dengan informasi yang dibawa dalam permintaan pengguna.

Ya

Negasi nilai penilaian kondisi

negate

Menentukan apakah akan meniadakan hasil ekspresi kondisional. Nilai valid: true dan false.

Ya

Sensitivitas huruf besar/kecil

caseSensitive

Menentukan apakah karakter dalam nilai pencocokan sensitif terhadap huruf besar/kecil.

Tidak

Nama aturan

name

Nama aturan.

Ya

Status efektif

status

Status efektif aturan.

Ya

Konfigurasi ekspresi kondisional

Jenis pencocokan

Parameter yang sesuai dalam fungsi kondisi

Deskripsi

Objek pencocokan

Operator pencocokan

Nilai pencocokan

Sensitivitas huruf besar/kecil

Variabel yang sesuai di NGINX atau Tengine

Protokol

scheme

Protokol yang digunakan untuk mengirim permintaan, seperti HTTP atau HTTPS.

T/A

  • Sama dengan

  • Tidak sama dengan

  • http

  • https

T/A

$scheme

Metode permintaan

method

Metode permintaan, seperti GET atau PUT.

T/A

  • Sama dengan

  • Tidak sama dengan

  • get

  • put

  • post

  • delete

  • head

T/A

$request_method

URI

uri

Path dalam URL permintaan, tidak termasuk parameter permintaan. Contoh: /favicon.ico.

T/A

  • Mencakup apa saja

  • Tidak mencakup apa saja

Karakter wildcard tanda tanya (?) dan asterisk (*) didukung. Misalnya, /*/my_path/* adalah ekspresi yang valid. Anda dapat menentukan beberapa nilai.

  • Sensitif huruf besar/kecil

  • Tidak sensitif huruf besar/kecil

$raw_uri atau $uri

Nama file

basename

Nama file yang diminta oleh klien. Contoh: name1.

T/A

  • Mencakup apa saja

  • Tidak mencakup apa saja

Karakter wildcard tanda tanya (?) dan asterisk (*) didukung. Anda dapat menentukan beberapa nilai.

  • Sensitif huruf besar/kecil

  • Tidak sensitif huruf besar/kecil

-

Ekstensi nama file

extension

Akhiran file yang diminta oleh klien, yang dimulai dari titik terakhir (.), seperti .mp4.

T/A

  • Mencakup apa saja

  • Tidak mencakup apa saja

Karakter wildcard tanda tanya (?) dan asterisk (*) didukung. Anda dapat menentukan beberapa nilai.

  • Sensitif huruf besar/kecil

  • Tidak sensitif huruf besar/kecil

-

Nama host

hostname

Nama host yang dibawa dalam permintaan. Prioritas pencocokan: host dalam URL permintaan > host dalam header HOST permintaan.

T/A

  • Mencakup apa saja

  • Tidak mencakup apa saja

Host permintaan. Anda dapat menentukan beberapa nilai.

  • Sensitif huruf besar/kecil

  • Tidak sensitif huruf besar/kecil

$host atau $http_host

Alamat IP klien

clientip

Alamat IP klien. Alamat IPv4 seperti 1.1.X.X, alamat IPv6 seperti 240e:95c:3004:2:3:0:0:XXX, dan blok CIDR seperti 20.209.XXX.XXX/31 didukung.

  • Alamat IP yang digunakan untuk terhubung ke POP

  • IP XFF

Catatan

Untuk informasi tentang alamat IP yang digunakan untuk terhubung ke POP dan alamat IP XFF, lihat Mode verifikasi alamat IP.

  • Mencakup apa saja

  • Tidak mencakup apa saja

Alamat IPv6 seperti 240e:XXX:3004:2:3:0:0:3f7 dan blok CIDR seperti 120.209.XXX.XXX/31 didukung. Anda dapat menentukan beberapa nilai.

T/A

$remote_addr

Versi IP klien

clientipVer

IPv4 atau IPv6

  • Alamat IP yang digunakan untuk terhubung ke POP

  • IP XFF

Catatan

Untuk informasi tentang alamat IP yang digunakan untuk terhubung ke POP dan alamat IP XFF, lihat Mode verifikasi alamat IP.

  • Sama dengan

  • Tidak sama dengan

  • v4

  • v6

T/A

-

Penyedia layanan internet (ISP)

geolocation

ISP tempat alamat IP klien berasal.

  • Alamat IP yang digunakan untuk terhubung ke POP

  • IP XFF

Catatan

Untuk informasi tentang alamat IP yang digunakan untuk terhubung ke POP dan alamat IP XFF, lihat Mode verifikasi alamat IP.

  • Mencakup apa saja

  • Tidak mencakup apa saja

Anda dapat memilih nilai dari daftar drop-down atau memasukkan karakter untuk menyaring opsi. Pencocokan fuzzy berdasarkan ID atau nama didukung. Anda dapat menentukan beberapa nilai.

T/A

$ip_isp_id

Lokasi IP

geolocation

Lokasi geografis alamat IP klien.

  • Alamat IP yang digunakan untuk terhubung ke POP

  • IP XFF

Catatan

Untuk informasi tentang alamat IP yang digunakan untuk terhubung ke POP dan alamat IP XFF, lihat Mode verifikasi alamat IP.

  • Mencakup apa saja

  • Tidak mencakup apa saja

Anda dapat memilih nilai dari daftar drop-down atau memasukkan karakter untuk menyaring opsi. Pencocokan fuzzy berdasarkan ID atau nama didukung. Anda dapat menentukan beberapa nilai.

T/A

$ip_country_id

Parameter permintaan

querystring

Parameter yang dibawa dalam URL permintaan.

Masukkan nama parameter.

  • Eksis

  • Tidak eksis

  • Mencakup apa saja

  • Tidak mencakup apa saja

  • Lebih besar dari

  • Lebih besar dari atau sama dengan

  • Kurang dari

  • Kurang dari atau sama dengan

Karakter wildcard tanda tanya (?) dan asterisk (*) didukung. Anda dapat menentukan beberapa nilai.

  • Sensitif huruf besar/kecil

  • Tidak sensitif huruf besar/kecil

$arg_{name}

Header permintaan

header

Header yang dibawa dalam permintaan.

Masukkan nama parameter atau pilih parameter dari daftar drop-down.

  • Eksis

  • Tidak eksis

  • Mencakup apa saja

  • Tidak mencakup apa saja

  • Lebih besar dari

  • Lebih besar dari atau sama dengan

  • Kurang dari

  • Kurang dari atau sama dengan

Anda dapat menentukan beberapa nilai.

  • Sensitif huruf besar/kecil

  • Tidak sensitif huruf besar/kecil

$http_{name}

Cookie

cookie

Cookie yang dibawa dalam permintaan.

Masukkan nama cookie.

  • Eksis

  • Tidak eksis

  • Mencakup apa saja

  • Tidak mencakup apa saja

  • Lebih besar dari

  • Lebih besar dari atau sama dengan

  • Kurang dari

  • Kurang dari atau sama dengan

Karakter wildcard tanda tanya (?) dan asterisk (*) didukung. Anda dapat menentukan beberapa nilai.

  • Sensitif huruf besar/kecil

  • Tidak sensitif huruf besar/kecil

$cookie_{name}

User-Agent

useragent

Header User-Agent dalam permintaan.

T/A

  • Mencakup apa saja

  • Tidak mencakup apa saja

Anda dapat memilih nilai dari daftar drop-down atau memasukkan nilai User-Agent, seperti *Chrome/25*. Karakter wildcard tanda tanya (?) dan asterisk (*) didukung. Anda dapat menentukan hingga 32 nilai dalam setiap ekspresi. Header User-Agent yang melebihi 32 tidak akan berlaku.

  • Sensitif huruf besar/kecil

  • Tidak sensitif huruf besar/kecil

$http_user_agent

Kelompok rentang

range

Permintaan dikelompokkan dan dieksekusi berdasarkan persentase.

T/A

  • Sama dengan

  • Tidak sama dengan

Masukkan persentase.

T/A

-

Rentang waktu

time

Rentang waktu saat permintaan dimulai, dalam UTC+8. Contoh: 09:10 sampai 14:22.

T/A

  • Mencakup apa saja

  • Tidak mencakup apa saja

Masukkan rentang waktu, seperti 09:10 sampai 14:22.

T/A

-

Nginx Var

ngxvar

Jika semua variabel sebelumnya dalam tabel tidak dapat memenuhi kebutuhan Anda, Anda dapat menggunakan variabel NGINX. Untuk informasi lebih lanjut, lihat Indeks alfabetis variabel.

Pilih variabel dari daftar drop-down atau masukkan nama variabel dalam format $region:$isp.

  • Eksis

  • Tidak eksis

  • Mencakup apa saja

  • Tidak mencakup apa saja

  • Lebih besar dari

  • Lebih besar dari atau sama dengan

  • Kurang dari

  • Kurang dari atau sama dengan

Anda dapat menentukan beberapa nilai.

T/A

${name}

Mode verifikasi alamat IP

Fitur Mesin Aturan memiliki dua mode verifikasi alamat IP, yang memengaruhi penentuan POP pada alamat IP klien.

  • Tentukan berdasarkan alamat IP yang digunakan untuk terhubung ke POP: Mode ini memverifikasi alamat IP yang digunakan oleh klien untuk terhubung ke POP. Jika proxy digunakan saat klien terhubung ke POP, alamat IP yang digunakan untuk terhubung ke POP adalah alamat IP proxy.

  • Tentukan berdasarkan alamat IP XFF: Mode ini memverifikasi alamat IP pertama dalam header XFF dalam permintaan klien. Alamat IP XFF adalah alamat IP klien terlepas dari apakah proxy digunakan saat klien terhubung ke POP.

Pilihan antara mode verifikasi alamat IP bervariasi berdasarkan apakah permintaan melewati proxy sebelum dikirim ke POP.

Perhatikan bahwa POP tempat fitur yang merujuk aturan berlaku juga memengaruhi pilihan antara mode verifikasi alamat IP. Untuk fitur asal yang berlaku pada POP L2, POP L1 yang dilewati permintaan dianggap sebagai proxy.

Sebagai contoh, alamat IP klien adalah 10.10.10.10 dan alamat IP proxy adalah 192.168.0.1.

  • Jika tidak ada proxy yang digunakan saat klien terhubung ke POP, aturan berikut berlaku:

    • Nilai header XFF dalam permintaan pengguna adalah 10.10.10.10.

    • Alamat IP klien 10.10.10.10 adalah alamat IP yang digunakan oleh klien untuk terhubung ke POP.

  • Jika proxy digunakan saat klien terhubung ke POP, aturan berikut berlaku:

    • Nilai header XFF dalam permintaan pengguna adalah 10.10.10.10,192.168.0.1.

    • Alamat IP klien adalah 10.10.10.10.

    • Alamat IP yang digunakan oleh klien untuk terhubung ke POP adalah alamat IP proxy, yaitu 192.168.0.1.

    • Alamat IP klien bukan alamat IP yang digunakan oleh klien untuk terhubung ke POP.

Beberapa penyedia layanan internet (ISP) mungkin menetapkan alamat IP pribadi kepada klien di wilayah tertentu. Oleh karena itu, CDN POP mungkin menerima permintaan dari alamat IP pribadi.

Catatan

Alamat IP pribadi memiliki jenis berikut:

  • Jenis-A alamat IP pribadi: 10.0.0.0 hingga 10.255.255.255. Subnet mask: 10.0.0.0/8.

  • Jenis-B alamat IP pribadi: 172.16.0.0 hingga 172.31.255.255. Subnet mask: 172.16.0.0/12.

  • Jenis-C alamat IP pribadi: 192.168.0.0 hingga 192.168.255.255. Subnet mask: 192.168.0.0/16.

Operator pencocokan

Operator

Parameter yang sesuai dalam fungsi kondisi

Deskripsi

Sama dengan

Nilai parameter matchOperator adalah equals.

Kondisi hanya benar ketika semua variabel sama dengan atau tidak sama dengan nilai pencocokan.

Tidak sama dengan

Nilai parameter matchOperator adalah equals, dan nilai parameter negate adalah true.

Eksis

Nilai parameter matchOperator adalah exists.

Kondisi benar terlepas dari apakah variabel ada.

Tidak eksis

Nilai parameter matchOperator adalah exists, dan nilai parameter negate adalah true.

Mencakup apa saja

Nilai parameter matchOperator adalah contains.

Kondisi benar jika variabel mencakup atau tidak mencakup apa saja dari nilai pencocokan. Anda dapat menentukan hingga 32 nilai pencocokan.

Mode pencocokan berikut didukung:

  • Pencocokan tepat: Masukkan objek pencocokan. Misalnya, ketika nilai pencocokan adalah "a", kondisi hanya benar jika objek pencocokan adalah "a".

  • Pencocokan wildcard: Anda dapat menambahkan asterisk (*) sebagai karakter wildcard. Misalnya, a*, *a, dan *a* dapat sesuai dengan abc, bca, dan bcabc masing-masing.

Tidak mencakup apa saja

Nilai parameter matchOperator adalah contains, dan nilai parameter negate adalah true.

Lebih besar dari

Nilai parameter matchOperator adalah gt.

>

Kurang dari

Nilai parameter matchOperator adalah lt.

<

Lebih besar dari atau sama dengan

Nilai parameter matchOperator adalah ge.

>=

Kurang dari atau sama dengan

Nilai parameter matchOperator adalah le.

<=

Pencocokan ekspresi reguler

Nilai parameter matchOperator adalah regex.

Anda dapat memasukkan ekspresi reguler sebagai nilai pencocokan.

Catatan

Jika Anda membuat aturan menggunakan konsol atau memanggil operasi API, Anda tidak dapat menggunakan operator terkait ekspresi reguler, termasuk pencocokan dan ketidakcocokan ekspresi reguler. Namun, Anda dapat melihat aturan yang ada yang mencakup operator tersebut. Kirim tiket atau gunakan Edge Security Acceleration (ESA) untuk menggunakan operator terkait ekspresi reguler.

Ketidakcocokan ekspresi reguler

Nilai parameter matchOperator adalah regex, dan nilai parameter negate adalah true.

Karakter wildcard

Karakter wildcard

Deskripsi

?

Satu karakter dapat dicocokkan.

*

Karakter apa pun dapat dicocokkan.

Fitur yang dapat merujuk aturan

Fitur

Rujukan

Konfigurasi dasar

Konfigurasikan asal bersyarat

Pengaturan cache

Buat aturan cache untuk sumber daya

Konfigurasikan header respons HTTP

Tulis ulang URL akses

Buat kunci cache kustom

Pengaturan asal

Konfigurasikan header permintaan HTTP

Konfigurasikan header respons HTTP

Penulisan ulang parameter

Tentukan host asal untuk setiap asal

Kontrol akses

Konfigurasikan daftar hitam atau putih Referer

Konfigurasikan penandatanganan URL

Konfigurasikan daftar hitam atau putih alamat IP

Konfigurasikan daftar hitam atau putih User-Agent

Peningkatan performa

Abaikan parameter

Pengaturan terkait video

Ambil rentang asal

Pembatasan trafik

Konfigurasikan pembatasan trafik untuk permintaan individual

Prosedur

  1. Masuk ke Alibaba Cloud CDN.

  2. Di panel navigasi di sebelah kiri, klik Domain Names.

  3. Pada halaman Domain Names, temukan nama domain yang ingin Anda kelola dan klik Manage di kolom Actions.

  4. Di pohon navigasi di sebelah kiri, klik Rules Engine.

  5. Klik Add Rule.

  6. Pada halaman Add Rule, konfigurasikan parameter Rule Name dan Rule Content.

  7. Klik Submit.