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
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 |
| Nilai valid:
|
Versi HTTP | Versi HTTP yang digunakan oleh permintaan. | http.request.version | Nilai valid:
| |
Negara/Wilayah | Negara atau wilayah tempat alamat IP klien berada. | ip.geoip.country |
| |
Nama File | Nama file yang diminta oleh klien. | http.request.uri.path.file_name |
| |
Ekstensi File | Akhiran dari nama file yang diminta oleh klien. | http.request.uri.path.extension |
| |
Alamat IP Sumber | Alamat IP klien. | ip.src |
| |
SSL/HTTPS | Jenis protokol yang digunakan oleh permintaan. | http.request.scheme |
| Nilai valid:
|
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 |
|
|
URI | Path dalam URL permintaan. Nilainya mencakup parameter permintaan. | http.request.uri |
| |
URI Lengkap | Uniform Resource Identifier (URI) lengkap dari permintaan. | http.request.full_uri |
| |
Path URI | Path dalam URL permintaan. Nilainya tidak mencakup parameter permintaan. | http.request.uri.path |
| |
String Kueri URI | Semua parameter permintaan dalam URL permintaan. | http.request.uri.query |
| |
Parameter String Kueri URI | Parameter kueri yang ditentukan dalam URL permintaan. | http.request.uri.args["session"] |
| |
Cookie | Cookie yang terkandung dalam permintaan. | http.cookie |
|
|
User Agent | Informasi klien yang terkandung dalam permintaan. | http.user_agent |
| |
Referer | URL halaman web asli tempat sumber daya diminta. | http.referer |
| |
X-Forwarded-For | Nilai header X-Forwarded-For dalam permintaan. | http.x_forwarded_for |
| |
Header | Header yang ditentukan dalam permintaan. | http.request.headers["session"] |
| |
Nilai Cookie Dari | Parameter cookie yang ditentukan dalam permintaan. | http.request.cookies["session"] |
| |
ISP | ISP tempat alamat IP klien berada. | ip.src.isp |
| Nilai valid:
|
Versi Protokol IP | Versi protokol dari alamat IP klien. | ip.src.version |
| Nilai valid:
|
Provinsi | Pembagian administratif tingkat pertama suatu negara. | ip.src.subdivision_1_iso_code |
|
|
Wilayah Load Balancer | Wilayah tempat load balancer berada. | ip.src.region_code |
|
|
Timestamp Permintaan | Unix timestamp yang menunjukkan kapan permintaan tiba di POP. | http.request.timestamp.sec |
|
|
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.
|
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
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.

Gunakan Editor Ekspresi
Editor ekspresi memungkinkan Anda membuat ekspresi yang lebih kompleks dengan cara yang lebih fleksibel.
Klik Edit Ekspresi.

Masukkan ekspresi dalam editor.
