All Products
Search
Document Center

Edge Security Acceleration:Mesin aturan DCDN

Last Updated:Aug 26, 2026

Gunakan antarmuka grafis Mesin Aturan untuk menentukan aturan kondisional berdasarkan parameter permintaan dan mengontrol secara tepat kapan kebijakan konfigurasi DCDN diterapkan.

Catatan

Catatan: Saat fitur ini mereferensikan kondisi aturan dari Mesin Aturan, urutan eksekusi mengikuti prioritas kondisi aturan yang dikonfigurasi di Mesin Aturan, BUKAN urutan prioritas konfigurasi fitur ini sendiri.

Latar Belakang

Konsol Alibaba Cloud DCDN menyediakan fitur dasar seperti mengonfigurasi waktu hidup (TTL) dan menulis ulang parameter pengambilan asal. Fitur-fitur tersebut mencakup sebagian besar kasus penggunaan tetapi tidak dapat memenuhi semua kebutuhan. Misalnya, Anda mungkin perlu mengarahkan permintaan yang berisi path /example ke origin tertentu. Untuk skenario seperti ini, kombinasikan fitur dasar dengan Mesin Aturan guna mendapatkan konfigurasi yang lebih fleksibel. Alibaba Cloud DCDN juga menawarkan EdgeRoutine untuk kustomisasi tingkat lanjut.

Kemampuan konfigurasi

Fitur dasar

Fitur dasar + mesin aturan

EdgeRoutine

Implementasi

Konfigurasi tujuan umum

Konfigurasi kustom fleksibel

Konfigurasi kustom sangat fleksibel

Skenario

Kasus penggunaan umum

Kebutuhan kustom tingkat lanjut

Kebutuhan sepenuhnya kustom

Tingkat kesulitan

Rendah

Sedang

Tinggi

Fleksibilitas konfigurasi

Rendah

Sedang

Tinggi

Batasan

  • Anda dapat membuat maksimal 50 kondisi aturan per nama domain.

  • Setiap kondisi aturan dapat berisi maksimal 20 sub-aturan.

  • Anda tidak dapat menggunakan operator pencocokan ekspresi reguler atau ketidakcocokan ekspresi reguler saat mengonfigurasi kondisi aturan di Konsol atau menggunakan OpenAPI. Namun, Anda dapat melihat konfigurasi yang sudah ada yang menggunakan operator-operator tersebut. Untuk menggunakan operator ini, gunakan ESA.

  • Satu kondisi aturan dapat direferensikan maksimal lima kali di seluruh fitur dalam satu nama domain.

  • Anda dapat menumpuk kondisi aturan hingga tiga level, dan setiap level dapat memiliki hubungan logika independen sendiri.

  • Jika suatu fitur, seperti mengatur waktu kedaluwarsa cache atau memodifikasi header permintaan keluar, mereferensikan kondisi aturan, urutan eksekusi ditentukan oleh prioritas kondisi tersebut, bukan urutan konfigurasi fitur tersebut.

  • Di antara batasan-batasan di atas, batas maksimum 50 kondisi aturan, 20 sub-aturan, dan tumpukan tiga level merupakan batas keras yang tidak dapat ditingkatkan berdasarkan permintaan. Jumlah total maksimum referensi ke kondisi aturan di seluruh fitur dalam satu nama domain yang dipercepat, yang secara default adalah 5, dapat ditingkatkan berdasarkan permintaan.

    • Untuk meningkatkan jumlah total maksimum referensi ke kondisi aturan untuk satu nama domain yang dipercepat, ajukan tiket dan berikan informasi berikut: nama domain yang dipercepat yang ingin Anda tingkatkan batasnya, jumlah target referensi, dan deskripsi skenario bisnis Anda.

    • Jika Anda menambahkan nama domain yang dipercepat lainnya nanti, Anda harus mengajukan tiket secara terpisah untuk domain tersebut guna meningkatkan jumlah referensi. Prosesnya sama seperti permintaan awal.

    • Tidak tersedia mekanisme untuk meningkatkan batas ini secara otomatis. Setelah Anda mengajukan tiket, permintaan akan diproses melalui tinjauan manual oleh tim backend.

  • Setiap kondisi dapat memiliki maksimal 32 nilai pencocokan untuk jenis pencocokan seperti IP klien, URI, ekstensi file, nama file, dan User-Agent. Jika Anda memiliki daftar izin IP klien yang besar, satukan beberapa alamat IP ke dalam blok CIDR (misalnya, 120.209.XXX.X/24) untuk menghemat kuota nilai pencocokan.

  • Anda dapat mengonfigurasi maksimal 32 nilai pencocokan User-Agent. Nilai yang melebihi batas ini akan diabaikan. Untuk mencocokkan banyak User-Agent, gunakan wildcard (*) untuk menyatukan nilai-nilai serupa (misalnya, *Chrome* mencocokkan semua versi browser Chrome) atau gunakan EdgeScript untuk logika pencocokan yang lebih fleksibel.

Sintaksis kondisi aturan

Kondisi aturan menggabungkan satu atau beberapa ekspresi kondisional menggunakan operator logika. Bagian-bagian berikut menjelaskan sintaksis tersebut.

Operator logika

Operator logika mengevaluasi kondisi pada level yang sama, termasuk set kondisi bersarang. Operator yang didukung adalah and dan or.

  • and: Operator logika AND. Pencocokan berhasil hanya jika semua kondisi bernilai benar.

  • or: Operator logika OR. Pencocokan berhasil jika minimal satu kondisi bernilai benar. Misalnya, Anda dapat mengonfigurasi beberapa kondisi aturan untuk header respons yang sama agar header tersebut ditambahkan dalam kondisi berbeda. Contoh: Jika URI berisi /path-a or URI berisi /path-b, sistem akan menambahkan header respons.

Parameter ekspresi kondisional

Ekspresi kondisional, sebagai unit paling granular dalam suatu aturan, mencakup parameter berikut:

Parameter

Fungsi untuk konfigurasi nama domain parameter fungsi

Deskripsi

Wajib

Pencocokan kondisional

match

Menentukan ekspresi pencocokan kondisional.

Ya

Operator logika

logic

Menentukan operator logika untuk ekspresi pencocokan kondisional. Nilai yang valid adalah and dan or.

Ya

Kriteria

criteria

Menentukan array ekspresi kondisional yang akan dievaluasi.

Ya

Jenis pencocokan

MatchType

Menentukan jenis informasi dalam permintaan klien yang akan dicocokkan.

Ya

Objek pencocokan

MatchObject

Memperjelas lebih lanjut jenis pencocokan. Misalnya, alamat IP klien dapat ditentukan sebagai IP koneksi POP atau IP XFF.

Tidak

Operator pencocokan

MatchOperator

Menentukan perbandingan yang akan dilakukan.

Ya

Nilai pencocokan

MatchValue

Nilai yang dibandingkan dengan data dari permintaan klien.

Ya

Negasi kondisi

negate

Menentukan apakah hasil ekspresi kondisional harus dinegasikan. Nilai yang valid adalah true dan false.

Ya

Sensitivitas huruf besar/kecil

caseSensitive

Menentukan apakah nilai pencocokan peka terhadap huruf besar/kecil.

Tidak

Nama kondisi aturan

name

Menentukan nama kondisi aturan.

Ya

Status

status

Menentukan status kondisi aturan.

Ya

Konfigurasi ekspresi kondisional

Jenis pencocokan

Fungsi untuk konfigurasi nama domain parameter fungsi

Deskripsi

Objek pencocokan

Operator pencocokan

Nilai pencocokan

Sensitivitas huruf besar/kecil

Variabel Nginx

Protokol

scheme

Protokol yang digunakan oleh permintaan klien, seperti HTTP atau HTTPS.

Tidak berlaku

  • sama dengan

  • tidak sama dengan

  • http

  • https

Tidak berlaku

$scheme

Metode permintaan

method

Metode permintaan yang digunakan oleh permintaan klien, seperti GET atau PUT.

Tidak berlaku

  • sama dengan

  • tidak sama dengan

  • get

  • put

  • post

  • delete

  • head

Tidak berlaku

$request_method

URI (path)

uri

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

Tidak berlaku

  • berisi salah satu

  • tidak berisi salah satu

Wildcard ? dan * didukung. Misalnya, masukkan /*/my_path/*. Beberapa nilai didukung.

  • Peka huruf besar/kecil

  • Tidak peka huruf besar/kecil

$raw_uri atau $uri

Nama file

basename

Nama file yang diminta oleh klien. Contoh: name1.

Tidak berlaku

  • berisi salah satu

  • tidak berisi apa pun

Wildcard ? dan * didukung. Anda dapat memasukkan beberapa nilai.

  • Peka huruf besar/kecil

  • Tidak peka huruf besar/kecil

-

Ekstensi file

extension

Ekstensi file yang diminta oleh klien. Sistem mengidentifikasi ekstensi sebagai substring dari titik terakhir (.) hingga akhir nama file. Contoh: .mp4.

Tidak berlaku

  • berisi salah satu

  • tidak berisi salah satu

Wildcard ? dan * didukung. Anda dapat memasukkan beberapa nilai.

  • Peka huruf besar/kecil

  • Tidak peka huruf besar/kecil

-

Hostname

hostname

Hostname dari permintaan klien. Urutan pencocokan: host di URL permintaan > host di header permintaan Host.

Tidak berlaku

  • berisi salah satu

  • tidak berisi apa pun

Host dari permintaan klien. Anda dapat memasukkan beberapa nilai.

  • Peka huruf besar/kecil

  • Tidak peka huruf besar/kecil

$host atau $http_host

Alamat IP klien

clientip

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

  • IP koneksi POP

  • IP XFF

Catatan

Untuk informasi selengkapnya mengenai IP koneksi POP dan IP XFF, lihat mode verifikasi alamat IP.

  • berisi salah satu

  • tidak berisi apa pun

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

Tidak berlaku

$remote_addr

Versi IP klien

clientipVer

Versi IP dari alamat klien: IPv4 atau IPv6.

  • IP koneksi POP

  • IP XFF

Catatan

Untuk informasi lebih lanjut tentang IP koneksi POP dan IP XFF, lihat Mode verifikasi alamat IP.

  • sama dengan

  • tidak sama dengan

  • v4

  • v6

Tidak berlaku

-

Penyedia layanan Internet (ISP)

geolocation

ISP tempat alamat IP klien terdaftar.

  • IP koneksi POP

  • IP XFF

Catatan

Untuk informasi lebih lanjut tentang IP koneksi POP dan IP XFF, lihat Mode verifikasi alamat IP.

  • berisi apa pun

  • tidak berisi apa pun

Anda dapat memilih ISP dari daftar drop-down atau memasukkan karakter untuk memfilter opsi. Pencarian fuzzy berdasarkan ID atau nama didukung. Anda dapat memasukkan beberapa nilai.

Tidak berlaku

$ip_isp_id

Lokasi geografis IP

geolocation

Lokasi geografis alamat IP klien.

  • IP koneksi POP

  • IP XFF

Catatan

Untuk informasi lebih lanjut tentang IP koneksi POP dan IP XFF, lihat Mode verifikasi alamat IP.

  • berisi salah satu

  • tidak mengandung

Anda dapat memilih lokasi dari daftar drop-down atau memasukkan karakter untuk memfilter opsi. Pencarian fuzzy berdasarkan ID atau nama didukung. Anda dapat memasukkan beberapa nilai.

Tidak berlaku

$ip_country_id

Parameter permintaan

querystring

Parameter dalam URL permintaan.

Masukkan nama parameter.

  • ada

  • tidak ada

  • berisi salah satu

  • tidak berisi apa pun

  • lebih besar dari

  • lebih besar dari atau sama dengan

  • lebih kecil dari

  • lebih kecil dari atau sama dengan

Wildcard ? dan * didukung. Anda dapat memasukkan beberapa nilai.

  • Peka huruf besar/kecil

  • Tidak peka huruf besar/kecil

$arg_{name}

Header permintaan

header

Header dalam permintaan klien.

Anda dapat memasukkan nama parameter atau memilih parameter dari daftar drop-down.

  • ada

  • tidak ada

  • berisi salah satu

  • tidak berisi salah satu

  • lebih besar dari

  • lebih besar dari atau sama dengan

  • lebih kecil dari

  • lebih kecil dari atau sama dengan

Anda dapat memasukkan beberapa nilai.

  • Peka huruf besar/kecil

  • Tidak peka huruf besar/kecil

$http_{name}

Cookie

cookie

Cookie dalam permintaan klien.

Masukkan nama cookie.

  • ada

  • tidak ada

  • mengandung apa pun

  • tidak berisi apa pun

  • lebih besar dari

  • lebih besar dari atau sama dengan

  • lebih kecil dari

  • lebih kecil dari atau sama dengan

Wildcard ? dan * didukung. Anda dapat memasukkan beberapa nilai.

  • Peka huruf besar/kecil

  • Tidak peka huruf besar/kecil

$cookie_{name}

User-Agent

useragent

Header User-Agent dalam permintaan klien.

Tidak berlaku

  • berisi salah satu

  • tidak berisi salah satu

Anda dapat memilih nilai dari daftar drop-down atau memasukkan nilai User-Agent, seperti *Chrome/25*. Wildcard ? dan * didukung. Anda dapat memasukkan beberapa nilai. Maksimal 32 nilai User-Agent dapat dikonfigurasi. Jika batas ini terlampaui, konfigurasi tidak berlaku.

  • Peka huruf besar/kecil

  • Tidak peka huruf besar/kecil

$http_user_agent

Bucket rentang

range

Mencocokkan persentase tertentu dari permintaan klien.

Tidak berlaku

  • sama dengan

  • tidak sama dengan

Masukkan nilai persentase.

Tidak berlaku

-

Waktu

time

Waktu terjadinya permintaan klien. Waktu dalam UTC+8. Contoh: 09:10~14:22.

Tidak berlaku

  • berisi salah satu

  • tidak berisi salah satu

Masukkan rentang waktu, seperti 09:10~14:22, yang merepresentasikan periode dari 09:10 hingga 14:22.

Tidak berlaku

-

Variabel Nginx

ngxvar

Gunakan variabel Nginx jika variabel sebelumnya tidak memenuhi kebutuhan Anda. Untuk daftar variabel yang didukung, lihat dokumentasi resmi Nginx.

Anda dapat memilih variabel dari daftar drop-down atau memasukkan nama variabel. Penggabungan didukung, seperti $region:$isp.

  • ada

  • tidak ada

  • berisi apa pun

  • tidak berisi salah satu

  • lebih besar dari

  • lebih besar dari atau sama dengan

  • lebih kecil dari

  • lebih kecil dari atau sama dengan

Anda dapat memasukkan beberapa nilai.

Tidak berlaku

${name}

Catatan konfigurasi umum untuk ekspresi kondisional

  • Titik awal pencocokan URI (path): Untuk pencocokan URI, nilainya adalah bagian path yang dimulai dengan / pertama setelah nama domain. Nilai ini tidak mencakup nama domain atau parameter permintaan. Untuk permintaan https://example.com/path/file.html?key=value, nilai yang dicocokkan adalah /path/file.html. Nilai pencocokan harus dimulai dengan /.

  • Format pencocokan ekstensi file: Saat mengonfigurasi pencocokan ekstensi file, nilai pencocokan harus menyertakan titik (.). Misalnya, untuk mencocokkan file .txt, masukkan .txt, bukan txt. Jika tidak, pencocokan mungkin gagal.

  • Contoh penggunaan wildcard: Pencocokan URI dan ekstensi file mendukung wildcard ? (mencocokkan satu karakter) dan * (mencocokkan nol atau lebih karakter). Contoh umum:

    • /*.pdf: Mencocokkan semua file PDF di direktori root.

    • /api/*/data: Mencocokkan path data di subdirektori apa pun di bawah /api/.

    • .??: Mencocokkan semua ekstensi file dua karakter, seperti .js dan .ts.

Mode verifikasi alamat IP

Mesin Aturan menyediakan dua mode verifikasi alamat IP. Mode yang dipilih memengaruhi cara node DCDN mengidentifikasi alamat IP klien:

  • IP koneksi POP: Mode ini mencocokkan alamat IP yang digunakan klien untuk terhubung ke node DCDN. Jika server proxy digunakan antara klien dan node DCDN, IP koneksi POP adalah alamat IP server proxy tersebut.

  • IP XFF: Mode ini mencocokkan alamat IP paling kiri dalam header permintaan x-forwarded-for. IP XFF selalu merupakan alamat IP asli klien, terlepas dari apakah server proxy digunakan antara klien dan node DCDN.

Pilihan mode verifikasi bergantung pada apakah permintaan klien melewati server proxy sebelum mencapai node DCDN.

Perhatikan bahwa lokasi pada node DCDN tempat fitur diterapkan juga memengaruhi mode verifikasi alamat IP. Untuk fitur terkait pengaturan origin yang diterapkan pada node L2, node L1 yang dilewati permintaan dianggap sebagai server proxy perantara.

Contoh: Asumsikan alamat IP klien asli adalah 10.10.10.10 dan alamat IP server proxy adalah 192.168.0.1.

  • Tanpa server proxy:

    • Nilai header permintaan x-forwarded-for adalah 10.10.10.10.

    • Alamat IP asli klien (IP paling kiri dalam header x-forwarded-for) = Alamat IP yang digunakan untuk membuat koneksi antara klien dan node DCDN = 10.10.10.10.

  • Dengan server proxy:

    • Nilai header permintaan x-forwarded-for adalah 10.10.10.10,192.168.0.1.

    • Alamat IP klien asli (alamat IP paling kiri dalam header permintaan x-forwarded-for) adalah 10.10.10.10.

    • IP koneksi klien ke node DCDN = IP server proxy = 192.168.0.1.

    • Alamat IP klien asli (alamat IP pertama dari kiri dalam header x-forwarded-for) ≠ alamat IP koneksi klien ke node DCDN.

Catatan

Beberapa penyedia layanan Internet (ISP) di wilayah tertentu mungkin memberikan alamat IP pribadi kepada pengguna akhir. Akibatnya, node mungkin menerima alamat IP pribadi pengguna.

Alamat IP pribadi terbagi dalam tiga rentang:

  • Alamat IP pribadi Kelas A: 10.0.0.0 hingga 10.255.255.255, subnet mask: 10.0.0.0/8

  • Alamat IP pribadi Kelas B: 172.16.0.0 hingga 172.31.255.255, subnet mask: 172.16.0.0/12

  • Alamat IP pribadi Kelas C: 192.168.0.0 hingga 192.168.255.255, subnet mask: 192.168.0.0/16

Operator pencocokan (matchOperator)

Operator

condition parameter fungsi

Deskripsi

sama dengan

matchOperator diatur ke equals.

Kondisi terpenuhi hanya jika variabel benar-benar sama atau tidak sama dengan nilai pencocokan yang ditentukan.

tidak sama dengan

matchOperator diatur ke equals, dan parameter negate diatur ke true.

ada

matchOperator diatur ke exists.

Kondisi terpenuhi tergantung pada apakah variabel yang ditentukan ada dalam permintaan.

tidak ada

matchOperator diatur ke exists, dan parameter negate diatur ke true.

Berisi apa pun

matchOperator diatur ke contains.

Kondisi terpenuhi jika variabel berisi (atau tidak berisi) salah satu nilai pencocokan yang ditentukan. Maksimal 32 nilai pencocokan didukung.

Mendukung dua jenis pencocokan ketercakupan:

  • Pencocokan eksak: Variabel harus persis sama dengan nilai yang ditentukan. Misalnya, jika nilainya a, variabel juga harus a.

  • Pencocokan wildcard: Anda dapat menggunakan * sebagai wildcard. Pola yang didukung termasuk a*, *a, dan *a*. Ini masing-masing mencocokkan abc, bca, dan bcabc.

tidak berisi salah satu

matchOperator diatur ke contains, dan parameter negate diatur ke true.

lebih besar dari

matchOperator diatur ke gt.

Artinya, >

lebih kecil dari

matchOperator diatur ke lt.

Artinya, <

lebih besar dari atau sama dengan

matchOperator diatur ke ge.

Artinya, >=

lebih kecil dari atau sama dengan

matchOperator diatur ke le.

Artinya, <=

pencocokan ekspresi reguler

matchOperator diatur ke regex.

Mencocokkan variabel terhadap ekspresi reguler.

Catatan

Jika Anda mengonfigurasi aturan di Konsol atau menggunakan OpenAPI, Anda tidak dapat menggunakan operator ekspresi reguler ini. Namun, Anda dapat melihat konfigurasi yang sudah ada. Untuk menggunakan operator pencocokan terkait ekspresi reguler, ajukan tiket atau gunakan Edge Security Acceleration (ESA).

ketidakcocokan ekspresi reguler

matchOperator diatur ke regex, dan parameter negate diatur ke true.

Wildcard

Wildcard

Deskripsi

Contoh pencocokan path

?

Mencocokkan satu karakter apa pun.

/img/?.png mencocokkan sumber daya dengan nama file satu karakter, seperti /img/a.png dan /img/b.png.

*

Mencocokkan nol atau lebih karakter.

/api/* mencocokkan semua path di bawah /api/, seperti /api/v1/users dan /api/v2/products. /static/*.css mencocokkan semua file CSS di direktori /static/.

Fitur yang mendukung kondisi aturan

Kategori fitur

Nama fitur

konfigurasi pengambilan asal

Tentukan host asal

Modifikasi header permintaan masuk

header permintaan HTTP asal (Baru)

header respons HTTP asal

konfigurasi cache

Konfigurasikan waktu hidup

Modifikasi header respons keluar

kunci cache kustom

Prosedur

  1. Masuk ke Konsol DCDN.

  2. Di panel navigasi kiri, klik Domain Names.

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

  4. Di panel navigasi kiri, klik Rule Engine.

  5. Klik Create Rule.

  6. Pada halaman Create Rule, atur Rule Name dan Rule Content.

  7. Klik Submit.