全部产品
Search
文档中心

:Mesin Aturan

更新时间:Jun 21, 2025

Mesin aturan memungkinkan Anda mengikuti sintaksis dan logika yang sama untuk membuat serta menerapkan berbagai aturan, seperti aturan cache, aturan pengalihan, aturan kompresi, aturan origin, dan aturan perlindungan Web Application Firewall (WAF).

Ikhtisar

Dengan mesin aturan di Edge Security Acceleration (ESA), Anda dapat membuat aturan melalui antarmuka GUI. ESA memeriksa apakah akan menerapkan konfigurasi tertentu ke permintaan masuk berdasarkan parameter permintaan yang didefinisikan dalam aturan, sehingga memberikan kontrol distribusi konten yang lebih fleksibel dan tepat.

Prioritas Aturan

  • Aturan pada aspek tertentu (seperti TTL cache browser) memiliki prioritas lebih tinggi dibandingkan dengan konfigurasi global untuk aspek tersebut.

  • Jika aspek tertentu (seperti caching) memiliki daftar aturan, aturan tersebut diterapkan secara berurutan dari atas ke bawah. Untuk mengubah prioritas aturan tertentu dalam daftar, cukup ubah urutannya.

Catatan Penggunaan

  • Kondisi aturan tunggal tidak boleh melebihi 4 KB dalam ukuran. Ukuran total semua informasi konfigurasi situs web, kecuali konfigurasi keamanan, tidak boleh melebihi 512 KB.

  • Kondisi aturan mendukung struktur bersarang hingga kedalaman maksimum dua level. Setiap level mendukung pengaturan operasi logika terpisah.

  • Kondisi aturan tunggal dapat mencakup hingga 20 bidang pencocokan.

Deskripsi Parameter Terapkan ke

Saat membuat aturan, opsi berikut tersedia untuk parameter Terapkan ke:

  • Semua Permintaan: Aturan yang dibuat berlaku untuk seluruh lalu lintas di situs web.

  • Permintaan Tersaring: Aturan yang dibuat hanya berlaku untuk lalu lintas yang sesuai dengan ekspresi kustom. Pilih opsi ini untuk menyaring permintaan secara akurat.

Sintaksis Aturan

Kondisi aturan terdiri dari ekspresi dan operator logika.

  • Ekspresi: digunakan untuk menyaring permintaan berdasarkan karakteristik tertentu.

  • Operator logika: digunakan untuk menggabungkan beberapa ekspresi.

Anda dapat menentukan beberapa ekspresi dan menggabungkannya untuk menyaring permintaan sesuai dengan kebutuhan bisnis Anda.

Operator Logika

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

  • and: Kondisi aturan cocok hanya jika semua ekspresi dalam kondisi aturan bernilai benar.

  • or: Kondisi aturan cocok jika salah satu ekspresi dalam kondisi aturan bernilai benar.

Ekspresi

Ekspresi sederhana mencakup parameter yang dijelaskan dalam tabel berikut.

Parameter

Sintaks parameter yang sesuai

Deskripsi

Wajib

Bidang Pencocokan

Bidang

Bidang pencocokan.

Ya

Nilai Pencocokan

Nilai

Nilai pencocokan.

Ya

Operator Perbandingan

Comparison_operator

Operator perbandingan.

Ya

Sintaksis Ekspresi

  • Ekspresi Sederhana

    • Sintaksis: <field><comparison_operator><value>

    • Contoh: http.request.uri.path matches "/image\.(jpg|png)$"

  • Ekspresi Majemuk

    • Definisi: beberapa ekspresi yang dihubungkan oleh operator logika

    • Sintaksis: <expression><logical_operator><expression>

    • Contoh: http.host eq "www.example.com" and http.request.uri.path eq "/content"

Bidang Pencocokan

null
  • Bidang pencocokan nama host (http.host) berlaku untuk aturan enkripsi SSL/TLS dan hanya mendukung operator equals dan does not equal.

  • Beberapa penyedia layanan internet (ISP) mungkin memberikan alamat IP pribadi kepada klien di wilayah tertentu. Dalam hal ini, POP tidak dapat secara akurat menentukan negara/wilayah, alamat IP sumber, provinsi, atau ISP klien karena permintaan yang diterima dikirim dari alamat IP pribadi. Untuk informasi lebih lanjut, lihat Bagaimana cara mengidentifikasi blok CIDR pribadi?

Bidang Pencocokan

Deskripsi

Nama variabel dalam ekspresi

Operator perbandingan yang didukung

Nilai Pencocokan

Metode Permintaan

Metode yang digunakan oleh permintaan.

http.request.method

  • equals

  • does not equal

  • is in

  • is not in

Nilai valid:

  • GET

  • POST

  • PURGE

  • PUT

  • HEAD

  • OPTIONS

  • DELETE

  • PATCH

Versi HTTP

Versi HTTP yang digunakan oleh permintaan.

http.request.version

Nilai valid:

  • HTTP/1.0

  • HTTP/1.1

  • HTTP/2.0

  • HTTP/3.0

Negara/Wilayah

Negara atau wilayah tempat alamat IP klien berada.

ip.geoip.country

  • Anda dapat memilih nilai dari daftar drop-down.

  • Tidak peka huruf besar/kecil.

  • String kosong tidak diizinkan dalam nilai pencocokan.

Nama File

Nama file yang diminta oleh klien.

http.request.uri.path.file_name

  • Nilai tidak dapat berisi akhiran dari nama file sebenarnya. Contoh:

    • /a/b: Tentukan b sebagai nilai.

    • /a/b/: Tentukan string kosong sebagai nilai.

    • /foo.tar.bz2: Tentukan foo.tar sebagai nilai.

    • 128_128.jpg: Tentukan 128_128 sebagai nilai.

  • Peka huruf besar/kecil.

  • String kosong tidak diizinkan dalam nilai pencocokan.

Ekstensi File

Akhiran dari nama file yang diminta oleh klien.

http.request.uri.path.extension

  • Nilai adalah string yang dimulai dari titik terakhir (.) dalam nama file. Saat menentukan nilai, jangan sertakan titik (.) dalam nilai. Misalnya, tentukan bz2 sebagai nilai jika nama file adalah foo.tar.bz2.

  • Peka huruf besar/kecil.

  • String kosong tidak diizinkan dalam nilai pencocokan.

Alamat IP Sumber

Alamat IP klien.

ip.src

  • Alamat IPv4 didukung. Contoh: 192.168.X.X.

  • Alamat IPv6 didukung. Contoh: 240e:95c:3004:2:3:0:0:XXX.

  • Blok CIDR didukung. Contoh: 192.168.XXX.XXX/31.

  • Tidak peka huruf besar/kecil.

  • String kosong tidak diizinkan dalam nilai pencocokan.

SSL/HTTPS

Jenis protokol yang digunakan oleh permintaan.

http.request.scheme

  • equals

  • does not equal

Nilai valid:

  • http

  • https

Nama Host

Nama host yang terkandung dalam permintaan.

Urutan pencocokan: Jika nama host termasuk dalam URL dan header HOST, nama host dalam URL permintaan digunakan.

http.host

  • equals

  • does not equal

  • contains

  • does not contain

  • starts with

  • ends with

  • does not start with

  • does not end with

  • matches regex

  • does not match regex

  • is in

  • is not in

  • Contoh: ["www1.alibaba.com","www2.alibaba.com"].

  • Tidak peka huruf besar/kecil.

  • String kosong tidak diizinkan dalam nilai pencocokan.

URI

Path dalam URL permintaan. Nilainya mencakup parameter permintaan.

http.request.uri

  • Contoh: /articles/index?section=330688&expand=comments.

  • Peka huruf besar/kecil.

  • String kosong tidak diizinkan dalam nilai pencocokan.

URI Lengkap

Uniform Resource Identifier (URI) lengkap dari permintaan.

http.request.full_uri

  • Contoh: htt­ps://www.example.org/articles/index?section=330688&expand=comments.

  • Peka huruf besar/kecil.

  • String kosong tidak diizinkan dalam nilai pencocokan.

Path URI

Path dalam URL permintaan. Nilainya tidak mencakup parameter permintaan.

http.request.uri.path

  • Contoh: /articles/index.

  • Peka huruf besar/kecil.

  • String kosong tidak diizinkan dalam nilai pencocokan.

String Kueri URI

Semua parameter permintaan dalam URL permintaan.

http.request.uri.query

  • Contoh: section=330688&expand=comments.

  • Peka huruf besar/kecil.

  • String kosong tidak diizinkan dalam nilai pencocokan.

Parameter String Kueri URI

Parameter kueri yang ditentukan dalam URL permintaan.

http.request.uri.args["session"]

  • Anda dapat menentukan nama parameter dan nilai parameter untuk mencocokkan permintaan. Misalnya, Anda dapat memasukkan nama parameter session dan nilai parameter 330688.

  • Peka huruf besar/kecil.

  • String kosong diizinkan dalam nilai pencocokan.

    null

    Anda hanya dapat menentukan nilai null saat memilih salah satu operator berikut:

    • equals

    • does not equal

    • contains

    • matches regex

Cookie

Cookie yang terkandung dalam permintaan.

http.cookie

  • equals

  • does not equal

  • contains

  • does not contain

  • matches regex

  • does not match regex

  • Contoh: session=330688;background=light.

  • Peka huruf besar/kecil.

  • String kosong diizinkan dalam nilai pencocokan.

User Agent

Informasi klien yang terkandung dalam permintaan.

http.user_agent

  • Contoh: curl/7.29.0.

  • Peka huruf besar/kecil.

  • String kosong diizinkan dalam nilai pencocokan.

Referer

URL halaman web asli tempat sumber daya diminta.

http.referer

  • Contoh: http://refer.com.cn.

  • Tidak peka huruf besar/kecil.

  • String kosong diizinkan dalam nilai pencocokan.

X-Forwarded-For

Nilai header X-Forwarded-For dalam permintaan.

http.x_forwarded_for

  • Contoh: 192.168.1.X dan 192.168.2.X.

  • Peka huruf besar/kecil.

  • String kosong diizinkan dalam nilai pencocokan.

Header

Header yang ditentukan dalam permintaan.

http.request.headers["session"]

  • Anda dapat menentukan nama header dan nilai header untuk mencocokkan permintaan. Misalnya, Anda dapat memasukkan nama header session dan nilai header 330688.

  • Peka huruf besar/kecil.

  • String kosong diizinkan dalam nilai pencocokan.

Nilai Cookie Dari

Parameter cookie yang ditentukan dalam permintaan.

http.request.cookies["session"]

  • Anda dapat menentukan parameter cookie dan nilai cookie untuk mencocokkan permintaan. Misalnya, Anda dapat memasukkan nama parameter cookie session dan nilai parameter 330688.

  • Peka huruf besar/kecil.

  • String kosong diizinkan dalam nilai pencocokan.

ISP

ISP tempat alamat IP klien berada.

ip.src.isp

  • equals

  • does not equal

  • contains

  • does not contain

Nilai valid:

  • China Telecom

  • China Mobile

  • China Unicom

Versi Protokol IP

Versi protokol dari alamat IP klien.

ip.src.version

  • equals

  • does not equal

Nilai valid:

  • IPv4

  • IPv6

Provinsi

Pembagian administratif tingkat pertama suatu negara.

ip.src.subdivision_1_iso_code

  • equals

  • does not equal

  • contains

  • does not contain

  • Contoh: CN-ZJ (Zhengjiang, China)

  • Peka huruf besar/kecil.

Wilayah Load Balancer

Wilayah tempat load balancer berada.

ip.src.region_code

  • equals

  • does not equal

  • contains

  • does not contain

  • Contoh: EAS (Asia Timur)

  • Peka huruf besar/kecil.

Timestamp Permintaan

Unix timestamp yang menunjukkan kapan permintaan tiba di POP.

http.request.timestamp.sec

  • equals

  • does not equal

  • greater than

  • smaller than

  • greater than or equal to

  • smaller than or equal to

  • Contoh: 1735019278 (13:47:58 pada 24 Desember 2024)

Operator Perbandingan

Nama Operator

Operator

Bisa dinegasikan

Tipe Nilai

Catatan

equals

eq

Tidak

string

/

does not equal

ne

Tidak

string

/

contains

contains

Ya

string

Operator memeriksa apakah string yang ditentukan terkandung.

matches regex

matches

Ya

string

Operator memeriksa kecocokan dengan regex.

Hanya paket Bisnis dan Perusahaan yang mendukung operator ini.

is in

in

Ya

array

Ekspresi benar jika salah satu elemen yang ditentukan cocok.

  • Operator tidak mendukung karakter wildcard dalam nilai.

  • Operator mendukung hingga 32 elemen dalam array nilai.

starts with

starts_with

Ya

string

/

ends with

ends_with

Ya

string

/

length less than

len-lt

Tidak

integer

Kecocokan ditemukan jika panjang string kurang dari kondisi panjang yang ditentukan.

length equal to

len-eq

Tidak

integer

Kecocokan ditemukan jika panjang string sama dengan kondisi panjang yang ditentukan.

length greater than

len-gt

Tidak

integer

Kecocokan ditemukan jika panjang string lebih besar dari kondisi panjang yang ditentukan.

in list

in_list

Ya

integer

Operator ini digunakan pada daftar global yang Anda buat di tingkat akun.

exists

exists

Ya

bool

Operator memeriksa apakah kunci yang ditentukan ada dalam nilai pasangan kunci. Misalnya, Anda dapat menggunakan operator ini dalam aturan berdasarkan header, cookie, dan string kueri.

greater than

gt

Tidak

integer

Operator berlaku untuk aturan di mana nilainya adalah bilangan bulat.

smaller than

lt

Tidak

integer

Operator berlaku untuk aturan di mana nilainya adalah bilangan bulat.

greater than or equal to

ge

Tidak

integer

Operator berlaku untuk aturan di mana nilainya adalah bilangan bulat.

smaller than or equal to

le

Tidak

integer

Operator berlaku untuk aturan di mana nilainya adalah bilangan bulat.

Karakter Wildcard

Karakter Wildcard

Deskripsi

?

Cocok dengan satu karakter tunggal.

*

Cocok dengan sejumlah karakter apa pun.

Membuat Ekspresi

null

Secara default, pembuat ekspresi ditampilkan untuk membantu Anda membuat ekspresi.

Gunakan Pembuat Ekspresi

Pembuat ekspresi memungkinkan Anda membuat ekspresi dengan cepat secara interaktif. Namun, Anda mungkin perlu beralih ke editor ekspresi saat membuat ekspresi yang lebih rumit.

Sebagai contoh, jika Anda ingin membuat ekspresi berdasarkan metode permintaan, pilih komponen ekspresi dari daftar drop-down agar pembuat ekspresi secara otomatis membuat ekspresi.

image

Gunakan Editor Ekspresi

Editor ekspresi memungkinkan Anda membuat ekspresi yang lebih kompleks dengan cara yang lebih fleksibel.

  1. Klik Edit Ekspresi.

    image

  2. Masukkan ekspresi dalam editor.

    image