Mesin aturan menyediakan antarmuka pengguna grafis untuk mengonfigurasi aturan kondisional yang menganalisis parameter permintaan pengguna guna menentukan apakah konfigurasi tertentu berlaku, sehingga memberikan kontrol fleksibel dan tepat atas penerapan kebijakan konfigurasi CDN.
Latar Belakang
Konsol CDN Alibaba Cloud menyediakan fitur dasar seperti mengonfigurasi waktu kedaluwarsa cache dan menulis ulang parameter back-to-origin untuk memenuhi sebagian besar kebutuhan umum. Untuk kebutuhan khusus—misalnya, mengarahkan permintaan yang berisi path /example ke server origin tertentu—Anda dapat menggunakan mesin aturan untuk membuat konfigurasi kustom. Selain itu, Alibaba Cloud CDN menyediakan fitur EdgeScript, yang mendukung kustomisasi sangat fleksibel dan memungkinkan Anda mengonfigurasi kebijakan granular serupa dengan penyedia CDN pihak ketiga seperti Fastly dan CloudFront.
Kemampuan | Fitur dasar | Fitur dasar dan mesin aturan | EdgeScript |
Penerapan fitur | Konfigurasi tujuan umum | Memungkinkan Anda membuat aturan filter kondisional menggunakan antarmuka grafis. Mendukung berbagai jenis pencocokan, seperti URI, Header, Cookie, dan Query String, serta kombinasi logika AND/OR. | Mendukung kustomisasi sangat fleksibel dan cocok untuk skenario lanjutan yang memerlukan skrip kustom. |
Skenario | Skenario tujuan umum | Skenario kustom lanjutan | Skenario sepenuhnya kustom |
Kemudahan penggunaan | Tinggi | Sedang | Rendah |
Fleksibilitas konfigurasi | Rendah | Sedang | Tinggi |
Logika kompleks dan EdgeScript
Mesin aturan mendukung kombinasi logika dasar AND/OR, sehingga cocok untuk sebagian besar skenario filter kondisional. Namun, pertimbangkan skenario berikut untuk menentukan apakah Anda perlu menggunakan EdgeScript:
Pencocokan ekspresi reguler kompleks: Operator ekspresi reguler di mesin aturan dinonaktifkan secara default. Anda harus mengajukan tiket untuk mengaktifkannya. Untuk pencocokan ekspresi reguler yang sering, EdgeScript lebih nyaman karena menyediakan dukungan native.
Kombinasi multi-dimensi presisi: Mengonfigurasi evaluasi kompleks yang menggabungkan beberapa kriteria—seperti mencocokkan IP klien dan User-Agent dengan ekspresi reguler (misalnya, memblokir permintaan dari rentang IP tertentu di mana User-Agent berisi kata kunci spesifik)—merepotkan di mesin aturan. EdgeScript memungkinkan Anda menggabungkan beberapa kondisi secara fleksibel menggunakan logika skrip.
Kontrol akses presisi untuk URI tertentu: Gunakan langsung mesin aturan untuk memblokir permintaan URI tertentu berdasarkan Referer atau daftar putih IP. Anda tidak perlu EdgeScript.
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 tersebut. Untuk menggunakan operator ini, gunakan ESA.
Satu kondisi aturan dapat dirujuk maksimal lima kali di seluruh fitur dalam satu nama domain.
Anda dapat menumpuk kondisi aturan hingga tiga tingkat, dan setiap tingkat dapat memiliki hubungan logika independen sendiri.
Jika suatu fitur—seperti mengatur waktu kedaluwarsa cache atau memodifikasi header permintaan arah keluar—merujuk pada kondisi aturan, prioritas kondisi tersebut menentukan urutan eksekusi, bukan urutan konfigurasi fitur.
Batasan di atas (50 kondisi aturan, 20 sub-aturan, 3 tingkat penumpukan, dan 5 referensi) merupakan batasan tetap dan tidak dapat ditingkatkan berdasarkan permintaan.
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, gabungkan beberapa alamat IP menjadi 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 menggabungkan nilai serupa (misalnya,*Chrome*mencocokkan semua versi browser Chrome) atau gunakan EdgeScript untuk logika pencocokan yang lebih fleksibel.
Prioritas fitur dan logika eksekusi
Saat mengonfigurasi mesin aturan, pertimbangkan prioritas fitur dan logika eksekusi berikut:
Perlindungan hotlink Referer didahulukan daripada mesin aturan: Saat permintaan menyertakan header Referer, sistem terlebih dahulu mengevaluasinya terhadap daftar hitam dan daftar putih Referer. Jika permintaan sesuai dengan daftar putih, permintaan diizinkan untuk dilanjutkan, melewati mesin aturan. Jika permintaan tidak sesuai dengan daftar putih, sistem segera memblokirnya. Jika header Referer kosong, permintaan melewati logika ini dan dievaluasi oleh mesin aturan.
Urutan eksekusi untuk fitur yang menggunakan kondisi aturan: Saat fitur seperti Waktu Kedaluwarsa Cache atau Modifikasi Header Permintaan Arah Keluar menggunakan kondisi aturan, sistem mengeksekusinya berdasarkan prioritas kondisi aturan yang terkait, bukan urutan konfigurasi fitur. Misalnya, jika Waktu Kedaluwarsa Cache dan Penulisan Ulang Parameter Back-to-Origin menggunakan kondisi aturan dengan prioritas berbeda, sistem mengeksekusinya sesuai urutan prioritas kondisi aturan, dari yang tertinggi ke terendah.
Memecahkan masalah konflik antara otentikasi URL dan caching: Jika Anda mengalami perilaku tak terduga setelah mengonfigurasi otentikasi URL—seperti permintaan dapat diakses tanpa parameter otentikasi atau tautan valid diblokir secara salah—periksa hal berikut secara berurutan:
Periksa apakah daftar putih WAF dikonfigurasi. Daftar putih WAF mungkin melewati logika otentikasi URL CDN, sehingga memungkinkan permintaan dilanjutkan langsung.
Verifikasi bahwa fitur Abaikan Parameter URL tidak menghapus parameter otentikasi, seperti
auth_key. Hal ini dapat menyebabkan otentikasi dilewati saat terjadi cache hit.Konfirmasi bahwa Aturan Kunci Cache tidak mengabaikan parameter otentikasi. Jika demikian, permintaan dengan parameter otentikasi berbeda mungkin menerima konten cache yang sama, sehingga efektif melewati otentikasi.
Sintaksis kondisi aturan
Kondisi aturan menggabungkan satu atau beberapa ekspresi kondisional menggunakan operator logika. Bagian berikut menjelaskan sintaksisnya.
Operator logika
Operator logika mengevaluasi kondisi pada tingkat yang sama, termasuk set kondisi bersarang. Operator yang didukung adalah and dan or.
and: Operator logika AND. Pencocokan berhasil hanya jika semua kondisi bernilai true.or: Operator logika OR. Pencocokan berhasil jika minimal satu kondisi bernilai true. Misalnya, Anda dapat mengonfigurasi beberapa kondisi aturan untuk header respons yang sama agar menambahkan header tersebut dalam kondisi berbeda. Contoh: Jika URI berisi/path-aor URI berisi/path-b, sistem menambahkan header respons.
Parameter ekspresi kondisional
Ekspresi kondisional, sebagai unit paling granular dari suatu aturan, mencakup parameter berikut:
Parameter | condition 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 | 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 akan 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 | condition 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 |
|
| Tidak berlaku | $scheme |
Metode permintaan | method | Metode permintaan yang digunakan oleh permintaan klien, seperti GET atau PUT. | Tidak berlaku |
|
| Tidak berlaku | $request_method |
URI (path) | uri | Path dalam URL permintaan klien, tidak termasuk parameter permintaan. Contoh: | Tidak berlaku |
| Wildcard |
| $raw_uri atau $uri |
Nama file | basename | Nama file yang diminta oleh klien. Contoh: name1. | Tidak berlaku |
| Wildcard |
| - |
Ekstensi file | extension | Ekstensi file yang diminta oleh klien. Sistem mengidentifikasi ekstensi sebagai substring dari titik terakhir (.) hingga akhir nama file. Contoh: | Tidak berlaku |
| Wildcard |
| - |
Hostname | hostname | Hostname dari permintaan klien. Urutan pencocokan: host di URL permintaan > host di header permintaan | Tidak berlaku |
| Host dari permintaan klien. Anda dapat memasukkan beberapa nilai. |
| $host atau $http_host |
Alamat IP klien | clientip | Alamat IP klien. IPv4 (misalnya, |
Catatan Untuk informasi lebih lanjut tentang IP koneksi POP dan 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 memasukkan beberapa nilai. | Tidak berlaku | $remote_addr |
Versi IP klien | clientipVer | Versi IP dari alamat klien: IPv4 atau IPv6. |
Catatan Untuk informasi lebih lanjut tentang IP koneksi POP dan IP XFF, lihat Mode verifikasi alamat IP. |
|
| Tidak berlaku | - |
Penyedia layanan Internet (ISP) | geolocation | ISP tempat alamat IP klien terdaftar. |
Catatan Untuk informasi lebih lanjut tentang IP koneksi POP dan IP XFF, lihat Mode verifikasi alamat IP. |
| 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 |
Geolokasi IP | geolocation | Lokasi geografis alamat IP klien. |
Catatan Untuk informasi lebih lanjut tentang IP koneksi POP dan IP XFF, lihat Mode verifikasi alamat IP. |
| 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. |
| Wildcard |
| $arg_{name} |
Header permintaan | header | Header dalam permintaan klien. | Anda dapat memasukkan nama parameter atau memilih parameter dari daftar drop-down. |
| Anda dapat memasukkan beberapa nilai. |
| $http_{name} |
Cookie | cookie | Cookie dalam permintaan klien. | Masukkan nama cookie. |
| Wildcard |
| $cookie_{name} |
User-Agent | useragent | Header | Tidak berlaku |
| Anda dapat memilih nilai dari daftar drop-down atau memasukkan nilai User-Agent, seperti |
| $http_user_agent |
Bucket range | range | Mencocokkan persentase tertentu dari permintaan klien. | Tidak berlaku |
| Masukkan nilai persentase. | Tidak berlaku | - |
Waktu | time | Waktu terjadinya permintaan klien. Waktu dalam UTC+8. Contoh, 09:10~14:22. | Tidak berlaku |
| 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 |
| 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 permintaanhttps://example.com/path/file.html?key=value, nilai yang akan 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, bukantxt. 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 pathdatadi subdirektori apa pun di bawah/api/..??: Mencocokkan semua ekstensi file dua karakter, seperti.jsdan.ts.
Mode verifikasi alamat IP
Mesin aturan menyediakan dua mode verifikasi alamat IP. Mode yang dipilih memengaruhi cara node CDN mengidentifikasi alamat IP klien:
IP koneksi POP: Mode ini mencocokkan alamat IP yang digunakan klien untuk terhubung ke node CDN. Jika server proxy digunakan antara klien dan node CDN, 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 CDN.
Pilihan mode verifikasi bergantung pada apakah permintaan klien melewati server proxy sebelum mencapai node CDN.
Perhatikan bahwa lokasi pada node CDN 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-foradalah10.10.10.10.Alamat IP asli klien (IP paling kiri dalam header permintaan x-forwarded-for) = Alamat IP yang digunakan untuk membuat koneksi antara klien dan node CDN =
10.10.10.10.
Dengan server proxy:
Nilai header permintaan
x-forwarded-foradalah10.10.10.10,192.168.0.1.Alamat IP klien asli (alamat IP paling kiri dalam header permintaan
x-forwarded-for) adalah10.10.10.10.IP koneksi klien ke node CDN = IP server proxy =
192.168.0.1.Alamat IP klien asli (alamat IP pertama dari kiri dalam header permintaan x-forwarded-for) ≠ alamat IP koneksi klien ke node CDN.
Operator pencocokan (matchOperator)
Operator | condition parameter fungsi | Deskripsi |
sama dengan |
| Kondisi terpenuhi hanya jika variabel benar-benar sama dengan atau tidak sama dengan nilai pencocokan yang ditentukan. |
tidak sama dengan |
| |
ada |
| Kondisi terpenuhi tergantung pada apakah variabel yang ditentukan ada dalam permintaan. |
tidak ada |
| |
Mengandung apa pun |
| Kondisi terpenuhi jika variabel berisi (atau tidak berisi) salah satu nilai pencocokan yang ditentukan. Maksimal 32 nilai pencocokan didukung. Dua jenis pencocokan ketercakupan didukung:
|
tidak berisi apa pun |
| |
lebih besar dari |
| Artinya, |
kurang dari |
| Artinya, |
lebih besar dari atau sama dengan |
| Artinya, |
kurang dari atau sama dengan |
| Artinya, |
pencocokan ekspresi reguler |
| 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 |
|
Wildcard
Wildcard | Deskripsi | Contoh pencocokan path |
| Mencocokkan karakter tunggal apa pun. |
|
| Mencocokkan nol atau lebih karakter. |
|
Fitur yang mendukung kondisi aturan
Kategori | Fitur |
Konfigurasi dasar | |
Pengaturan cache | |
Pengaturan origin | |
Kontrol akses | |
Optimasi performa | |
Pengaturan video | |
Pembatasan trafik |
Manajemen konfigurasi
Mengelola aksi: Halaman Rules Engine hanya untuk mendefinisikan kondisi aturan. Untuk mengelola aksi (seperti waktu kedaluwarsa cache, penulisan ulang URL, atau pembatasan kecepatan), buka halaman pengaturan fitur tersebut. Misalnya, jika pengaturan waktu kedaluwarsa cache merujuk pada kondisi aturan, buka Cache settings > Cache expiration untuk melihat atau mengubahnya.
Remote Authentication: Fitur remote authentication tidak dapat merujuk pada kondisi aturan, artinya Anda tidak dapat menggunakan Rule Engine untuk mengontrol kapan fitur tersebut dipicu.
Batas waktu otentikasi: Remote Authentication Timeout dapat diatur hingga maksimal 3000 milidetik (3 detik). Nilai default adalah 500 milidetik. Ini adalah nilai tertinggi yang didukung sistem.
Kasus penggunaan lanjutan
Anda dapat menerapkan konfigurasi lanjutan berikut dengan Rule Engine:
Kebijakan throttling terdiferensiasi: Jika Anda ingin melakukan throttling pada beberapa permintaan tetapi tidak pada yang lain (misalnya, throttling URL yang menyertakan parameter penandatanganan tetapi tidak melakukan throttling pada URL lain), atau jika Anda menginginkan kebijakan throttling cadangan, buat kondisi aturan di Rules Engine untuk membedakan antar permintaan. Kemudian, di pengaturan Single-request throttling, rujuk kondisi aturan berbeda dan konfigurasikan nilai throttling berbeda.
Rilis canary berbasis IP untuk pengambilan asal: Untuk menerapkan rilis canary berdasarkan alamat IP klien atau mengarahkan permintaan dari IP tertentu ke origin berbeda, buat kondisi pencocokan berbasis IP di Rule Engine. Kemudian, di pengaturan Conditional origin, rujuk kondisi ini untuk menentukan alamat origin berbeda.
Rekomendasi untuk arsitektur origin campuran: Jika Anda menggunakan WAF dan OSS sebagai origin, jangan mengonfigurasinya sebagai beberapa origin primer. Sebagai gantinya, gunakan Rule Engine untuk membuat kondisi pencocokan berdasarkan path URL. Kemudian, di pengaturan Conditional origin, Anda dapat mengarahkan permintaan secara dinamis ke origin yang sesuai untuk setiap path. Pendekatan ini membantu mencegah konflik.
Prosedur
-
Masuk ke Konsol CDN.
-
Di panel navigasi kiri, klik Domain Names.
-
Di halaman Domain Names, temukan nama domain target dan klik Manage di kolom Actions.
Di bilah navigasi kiri untuk nama domain tertentu, klik Rules Engine.
Klik Add Rule.
Di halaman Add Rule, atur Rule Name dan Rule Content.
Klik Submit untuk menyelesaikan konfigurasi.
Skenario konfigurasi khas
Bagian berikut menjelaskan cara menerapkan dua skenario konfigurasi umum.
Skenario 1: Daftar izin IP dan pengalihan
Tujuan: Izinkan hanya alamat IP tertentu untuk mengakses situs Anda dan alihkan semua trafik lain ke halaman maintenance.
Penerapan:
Di Rules Engine, buat kondisi aturan. Atur Match Type ke Client IP, Match Operator ke Does not contain any of, dan masukkan alamat IP daftar izin Anda sebagai Match Value.
Di Cache Configuration > URL Rewrite, rujuk kondisi aturan ini untuk mengalihkan permintaan yang cocok (dari alamat IP yang tidak termasuk daftar izin) ke URL halaman maintenance yang Anda tentukan, seperti halaman HTML yang di-host di origin OSS.
Catatan:
Jika permintaan dari alamat IP yang tidak termasuk daftar izin mengembalikan error 403 alih-alih dialihkan, periksa apakah Anda telah mengonfigurasi beberapa origin OSS, yang dapat menyebabkan konflik origin. Kami menyarankan agar setiap domain CDN/ hanya memiliki satu origin OSS primer.
Pastikan URL halaman maintenance dapat diakses publik dan tidak diblokir oleh aturan kontrol akses lainnya.
Skenario 2: Perlindungan Referer dan pencocokan ekstensi file
Tujuan: Terapkan perlindungan hotlink Referer pada sebagian besar file, sambil mengecualikan ekstensi file tertentu dari pemeriksaan tersebut.
Penerapan:
Di Rules Engine, buat kondisi aturan. Atur Match Type ke File Extension, Match Operator ke Does not contain any of, dan masukkan ekstensi file yang ingin Anda kecualikan (seperti
.pdf) sebagai Match Value.Di Access Control > Referer Hotlink Protection, rujuk kondisi aturan ini. Ini menerapkan daftar izin atau daftar blokir Referer Anda ke semua permintaan kecuali permintaan untuk ekstensi file yang dikecualikan.
FAQ
Aturan Host Asal dan batas aturan
Ya. Setiap aturan yang diterapkan pada nama domain dihitung terhadap batas aturan kondisional lanjutan. Anda dapat membuat hingga 50 kondisi aturan per nama domain, dan setiap kondisi dapat berisi hingga 20 sub-kondisi.
Menentukan aksi untuk kondisi mesin aturan
Anda menggunakan mesin aturan untuk mendefinisikan kondisi. Kondisi ini hanya berlaku saat Anda menghubungkannya ke fitur lain, seperti Cache Expiration Time, penulisan ulang parameter origin, atau URL Rewrite. Anda mengonfigurasi aksi di pengaturan fitur terkait. Misalnya, Anda dapat membuat kondisi aturan untuk mendefinisikan logika pencocokan, lalu merujuk aturan tersebut di pengaturan Cache Expiration Time untuk menerapkan kebijakan cache hanya pada permintaan yang cocok.
Mengontrol unduhan dengan otentikasi URL dan aturan
Saat Otentikasi Tipe A diaktifkan, Anda dapat menggunakan mesin aturan untuk mengontrol perilaku dengan mencocokkan parameter permintaan. Kami merekomendasikan mengonfigurasi kondisi URL Contains guna mencocokkan nama atau nilai parameter bisnis tertentu, seperti download=1.
Jangan mencocokkan parameter otentikasi itu sendiri, karena hal ini dapat mengganggu proses otentikasi. Namun, Anda dapat dengan aman mencocokkan parameter bisnis lain seperti download.
Pastikan URL yang dihasilkan mencakup parameter yang ditentukan dalam aturan Anda (misalnya, http://.../video.mp4?auth_key=...&download=1) untuk memicu konfigurasi header respons yang sesuai dan mengontrol unduhan.
Mengonfigurasi aturan pengalihan 301
Anda dapat menerapkan pengalihan domain dengan membuat aturan penulisan ulang URL. Konfigurasikan kondisi pencocokan URI di mesin aturan dan gunakan dengan fitur URL Rewrite untuk mengalihkan trafik dari www.example.com ke shop.example.com.
Mengalihkan subdomain ke domain tingkat atas
Anda dapat melakukannya dengan mengonfigurasi penulisan ulang URL di CDN. Ikuti langkah-langkah berikut:
Di mesin aturan, buat kondisi aturan. Atur Match Type ke URI (path), Match Operator ke Regular Expression Match, dan Match Value ke
^/(.*)$. Untuk menggunakan operator Regular Expression Match, Anda harus menggunakan DCDN atau mengajukan tiket untuk mengaktifkannya.Di fitur URL Rewrite, atur Target Path ke
https://top-level-domain.com/$1, di mana$1adalah path yang ditangkap oleh ekspresi reguler.
Misalnya, ini memaksa pengalihan dari sub.wetqt.com/any/path ke https://wetqt.com/any/path.
Menonaktifkan cache untuk path tertentu dengan aturan
Anda dapat menggunakan salah satu metode berikut tergantung pada kebutuhan pencocokan Anda:
Berdasarkan ekstensi file: Di konfigurasi cache Anda, atur waktu kedaluwarsa cache ke 0 untuk ekstensi file yang tidak ingin Anda cache. Untuk file yang ingin Anda cache, atur durasi cache yang sesuai (seperti 4 jam) dan pastikan pengaturan untuk mengabaikan kontrol cache origin dinonaktifkan.
Berdasarkan path: Karena konsol CDN tidak mendukung pencocokan ekspresi reguler pada URL lengkap, Anda harus menggunakan pencocokan path URI di mesin aturan. Atur Match Type ke URI (path) dan Match Operator ke Contains any of atau Does not contain any of. Anda dapat menggunakan wildcard
?dan*di bidang Match Value. Misalnya, nilai/*/no-cache/*dapat mencocokkan path seperti/api/no-cache/data.
Pencocokan path dan awalan /
Ya. Saat Anda menggunakan pencocokan path (bukan pencocokan ekspresi reguler) di mesin aturan, pencocokan dilakukan pada segmen path yang dimulai dari / pertama setelah nama domain. Misalnya, untuk URL https://example.com/a.html, path yang akan dicocokkan adalah /a.html.
CDN tidak mendukung secara native pencocokan ekspresi reguler pada URL lengkap termasuk protokol dan domain, seperti ^https?://([^/]+)/path.
Pemecahan masalah pencocokan nama file untuk header respons
Saat Anda mengonfigurasi pencocokan nama file di mesin aturan, perhatikan bahwa basename dan file extension adalah dua jenis pencocokan yang berbeda:
Basename: Mencocokkan bagian nama file tanpa ekstensi. Misalnya,
script(bukan.js).Ekstensi file: Mencocokkan akhiran file. Misalnya,
.jsatau.css.
Jika Anda menyertakan ekstensi file dalam pencocokan basename (misalnya, script.js), pencocokan akan gagal. Agar pencocokan berhasil, hapus ekstensi dan masukkan hanya basename, seperti script.
Mengonfigurasi aturan untuk mencocokkan sumber daya statis
Anda dapat mencocokkan sumber daya statis dengan menggunakan pencocokan ekstensi file di mesin aturan. Ikuti langkah-langkah berikut:
Atur Match Type ke File Extension.
Atur Match Operator ke Contains any of.
Di bidang Match Value, masukkan
.js,.css. Gunakan koma untuk memisahkan beberapa ekstensi.
Konfigurasi ini akan mencocokkan semua permintaan untuk file .js dan .css. Anda dapat menambahkan lebih banyak ekstensi, seperti .js,.css,.png,.jpg.