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 Dynamic Content Delivery Network (DCDN).
Informasi latar belakang
Konsol DCDN menyediakan berbagai fitur dasar seperti pengaturan time-to-live dan penulisan ulang parameter back-to-origin.
Namun, beberapa kebutuhan memerlukan pengaturan lanjutan. Misalnya, Anda mungkin ingin merutekan permintaan yang berisi jalur /example ke server origin tertentu. Dalam hal ini, Anda dapat menggunakan fitur dasar bersama dengan mesin aturan untuk menyesuaikan konfigurasi. Selain itu, DCDN juga menyediakan EdgeRoutine, yang menawarkan fleksibilitas tinggi.
Kemampuan konfigurasi | Fitur dasar | Fitur dasar + mesin aturan | Fungsi tepi |
Implementasi | Konfigurasi umum | Konfigurasi fleksibel | Konfigurasi sangat fleksibel |
Skenario | Permintaan umum | Permintaan kustom lanjutan | Permintaan sepenuhnya disesuaikan |
Tingkat kesulitan (Keprofesian Teknis Pengguna) | 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. Ajukan 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 semua fitur untuk sebuah nama domain.
Aturan mendukung hingga tiga tingkat bersarang. 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 logika. Kondisi aturan cocok hanya jika semua ekspresi dalam kondisi aturan benar.
or: operator disjungsi logika. 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 |
Tipe pencocokan | MatchType | Jenis informasi yang akan dicocokkan. Ekspresi mencoba mencocokkan jenis informasi spesifik yang dibawa dalam permintaan pengguna. | Ya |
Objek pencocokan | MatchObject | Subdivisi dari tipe 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 kondisional | 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
Tipe pencocokan | Parameter yang sesuai dalam fungsi kondisi | Deskripsi | Objek pencocokan | Operator pencocokan | Nilai pencocokan | Sensitivitas huruf besar/kecil | Variabel yang sesuai dalam NGINX atau Tengine |
Protokol | scheme | Protokol yang digunakan untuk mengirim permintaan, seperti HTTP atau HTTPS. | Tidak tersedia |
|
| Tidak tersedia | $scheme |
Metode permintaan | method | Metode permintaan, seperti GET atau PUT. | Tidak tersedia |
|
| Tidak tersedia | $request_method |
URI | uri | Path dalam URL permintaan, tidak termasuk parameter permintaan. Contoh: | Tidak tersedia |
| Karakter wildcard tanda tanya ( |
| $raw_uri atau $uri |
Nama file | basename | Nama file yang diminta oleh klien. Contoh: name1. | Tidak tersedia |
| Karakter wildcard tanda tanya ( |
| - |
Ekstensi nama file | extension | Akhiran file yang diminta oleh klien, yang dimulai dari titik terakhir (.), seperti | Tidak tersedia |
| Karakter wildcard tanda tanya ( |
| - |
Nama host | hostname | Nama host yang dibawa dalam permintaan. Prioritas pencocokan: host di URL permintaan > host di header HOST permintaan. | Tidak tersedia |
| Host permintaan. Anda dapat menentukan beberapa nilai. |
| $host atau $http_host |
Alamat IP klien | clientip | Alamat IP klien. Alamat IPv4 seperti |
Catatan Untuk informasi tentang alamat IP yang digunakan untuk terhubung ke POP dan alamat IP XFF, lihat mode verifikasi alamat IP. |
| 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. | Tidak tersedia | $remote_addr |
Versi IP klien | clientipVer | IPv4 atau IPv6 |
Catatan Untuk informasi lebih lanjut tentang alamat IP yang digunakan untuk terhubung ke POP dan alamat IP XFF, lihat Mode verifikasi alamat IP. |
|
| Tidak tersedia | - |
Penyedia layanan internet (ISP) | geolocation | ISP tempat alamat IP klien berasal. |
Catatan Untuk informasi lebih lanjut tentang alamat IP yang digunakan untuk terhubung ke POP dan alamat IP XFF, lihat Mode verifikasi alamat IP. |
| 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. | Tidak tersedia | $ip_isp_id |
Lokasi IP | geolocation | Lokasi geografis alamat IP klien. |
Catatan Untuk informasi lebih lanjut tentang alamat IP yang digunakan untuk terhubung ke POP dan alamat IP XFF, lihat Mode verifikasi alamat IP. |
| 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. | Tidak tersedia | $ip_country_id |
Parameter permintaan | querystring | Parameter yang dibawa dalam URL permintaan. | Masukkan nama parameter. |
| Karakter wildcard tanda tanya ( |
| $arg_{name} |
Header permintaan | header | Header yang dibawa dalam permintaan. | Masukkan nama parameter atau pilih parameter dari daftar drop-down. |
| Anda dapat menentukan beberapa nilai. |
| $http_{name} |
Cookie | cookie | Cookie yang dibawa dalam permintaan. | Masukkan nama cookie. |
| Karakter wildcard tanda tanya ( |
| $cookie_{name} |
User-Agent | useragent | Header User-Agent dalam permintaan. | Tidak tersedia |
| Anda dapat memilih nilai dari daftar drop-down atau memasukkan nilai User-Agent, seperti |
| $http_user_agent |
Rentang bucket | range | Permintaan dikelompokkan dan dieksekusi berdasarkan persentase. | Tidak tersedia |
| Masukkan persentase. | Tidak tersedia | - |
Rentang waktu | time | Rentang waktu saat permintaan dimulai, dalam UTC+8. Contoh: 09:10 sampai 14:22. | Tidak tersedia |
| Masukkan rentang waktu, seperti 09:10 sampai 14:22. | Tidak tersedia | - |
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 |
| Anda dapat menentukan beberapa nilai. | Tidak tersedia | ${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 dari proxy.
Tentukan Berdasarkan Alamat IP XFF: Mode ini memverifikasi alamat IP pertama di 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.
Perlu diperhatikan bahwa POP tempat fitur yang merujuk aturan berlaku juga memengaruhi pilihan antara mode verifikasi alamat IP. Untuk fitur origin 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 proksi 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.10adalah 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 proksi, 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 memberikan alamat IP pribadi kepada klien di wilayah tertentu. Oleh karena itu, POP DCDN mungkin menerima permintaan dari alamat IP pribadi.
Alamat IP pribadi memiliki jenis berikut:
Alamat IP pribadi Tipe-A: 10.0.0.0 hingga 10.255.255.255. Subnet mask: 10.0.0.0/8.
Alamat IP pribadi Tipe-B: 172.16.0.0 hingga 172.31.255.255. Subnet mask: 172.16.0.0/12.
Alamat IP pribadi Tipe-C: 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 jika 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. | |
Termasuk apa saja | Nilai parameter matchOperator adalah contains. | Kondisi benar jika variabel berisi atau tidak berisi apa saja dari nilai pencocokan. Anda dapat menentukan hingga 32 nilai pencocokan. Mode pencocokan berikut didukung:
|
Kecualikan apa saja | Nilai parameter matchOperator adalah contains, dan nilai parameter negate adalah true. | |
Lebih besar dari | Nilai parameter matchOperator adalah gt. |
|
Lebih kecil dari | Nilai parameter matchOperator adalah lt. |
|
Lebih besar dari atau sama dengan | Nilai parameter matchOperator adalah ge. |
|
Lebih kecil 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. Ajukan 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 saja dapat dicocokkan. |
Fitur yang dapat merujuk aturan
Kategori fitur | Nama fitur |
Konfigurasi pengambilan origin | |
Header permintaan HTTP origin | |
Header respons HTTP origin | |
Konfigurasi cache | |
Prosedur
Masuk ke DCDN Console.
Di bilah navigasi sisi kiri, klik Domain Names.
Di halaman Domain Names, temukan nama domain yang ingin Anda kelola dan klik Configure di kolom Actions.
Di bilah navigasi sisi kiri nama domain target, klik Rules Engine.
Klik Create Rule.
Di halaman Create Rule, atur Rule Name dan Rule Content.
Klik Submit untuk menyelesaikan konfigurasi.