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 |
|
| T/A | $scheme |
Metode permintaan | method | Metode permintaan, seperti GET atau PUT. | T/A |
|
| T/A | $request_method |
URI | uri | Path dalam URL permintaan, tidak termasuk parameter permintaan. Contoh: | T/A |
| Karakter wildcard tanda tanya ( |
| $raw_uri atau $uri |
Nama file | basename | Nama file yang diminta oleh klien. Contoh: name1. | T/A |
| Karakter wildcard tanda tanya ( |
| - |
Ekstensi nama file | extension | Akhiran file yang diminta oleh klien, yang dimulai dari titik terakhir (.), seperti | T/A |
| Karakter wildcard tanda tanya ( |
| - |
Nama host | hostname | Nama host yang dibawa dalam permintaan. Prioritas pencocokan: host dalam URL permintaan > host dalam header HOST permintaan. | T/A |
| 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. | T/A | $remote_addr |
Versi IP klien | clientipVer | IPv4 atau IPv6 |
Catatan Untuk informasi tentang alamat IP yang digunakan untuk terhubung ke POP dan alamat IP XFF, lihat Mode verifikasi alamat IP. |
|
| T/A | - |
Penyedia layanan internet (ISP) | geolocation | ISP tempat alamat IP klien berasal. |
Catatan Untuk informasi 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. | T/A | $ip_isp_id |
Lokasi IP | geolocation | Lokasi geografis alamat IP klien. |
Catatan Untuk informasi 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. | T/A | $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. | T/A |
| Anda dapat memilih nilai dari daftar drop-down atau memasukkan nilai User-Agent, seperti |
| $http_user_agent |
Kelompok rentang | range | Permintaan dikelompokkan dan dieksekusi berdasarkan persentase. | T/A |
| Masukkan persentase. | T/A | - |
Rentang waktu | time | Rentang waktu saat permintaan dimulai, dalam UTC+8. Contoh: 09:10 sampai 14:22. | T/A |
| 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 |
| 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.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 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.
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:
|
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 | |
Pengaturan cache | |
Pengaturan asal | |
Kontrol akses | |
Peningkatan performa | |
Pengaturan terkait video | |
Pembatasan trafik | Konfigurasikan pembatasan trafik untuk permintaan individual |
Prosedur
Masuk ke Alibaba Cloud CDN.
Di panel navigasi di sebelah kiri, klik Domain Names.
Pada halaman Domain Names, temukan nama domain yang ingin Anda kelola dan klik Manage di kolom Actions.
Di pohon navigasi di sebelah kiri, klik Rules Engine.
Klik Add Rule.
Pada halaman Add Rule, konfigurasikan parameter Rule Name dan Rule Content.
Klik Submit.