All Products
Search
Document Center

CDN:Mesin aturan

Last Updated:Jun 09, 2026

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:

    1. Periksa apakah daftar putih WAF dikonfigurasi. Daftar putih WAF mungkin melewati logika otentikasi URL CDN, sehingga memungkinkan permintaan dilanjutkan langsung.

    2. Verifikasi bahwa fitur Abaikan Parameter URL tidak menghapus parameter otentikasi, seperti auth_key. Hal ini dapat menyebabkan otentikasi dilewati saat terjadi cache hit.

    3. 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-a or 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 and dan or.

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

  • sama dengan

  • tidak sama dengan

  • http

  • https

Tidak berlaku

$scheme

Metode permintaan

method

Metode permintaan yang digunakan oleh permintaan klien, seperti GET atau PUT.

Tidak berlaku

  • sama dengan

  • tidak sama dengan

  • get

  • put

  • post

  • delete

  • head

Tidak berlaku

$request_method

URI (path)

uri

Path dalam URL permintaan klien, tidak termasuk parameter permintaan. Contoh: /favicon.ico.

Tidak berlaku

  • berisi apa pun

  • tidak berisi salah satu

Wildcard ? dan * didukung. Misalnya, masukkan /*/my_path/*. Beberapa nilai didukung.

  • Peka huruf besar/kecil

  • Tidak peka huruf besar/kecil

$raw_uri atau $uri

Nama file

basename

Nama file yang diminta oleh klien. Contoh: name1.

Tidak berlaku

  • berisi salah satu

  • tidak berisi salah satu

Wildcard ? dan * didukung. Anda dapat memasukkan beberapa nilai.

  • Peka huruf besar/kecil

  • Tidak peka huruf besar/kecil

-

Ekstensi file

extension

Ekstensi file yang diminta oleh klien. Sistem mengidentifikasi ekstensi sebagai substring dari titik terakhir (.) hingga akhir nama file. Contoh: .mp4.

Tidak berlaku

  • berisi salah satu

  • tidak berisi salah satu

Wildcard ? dan * didukung. Anda dapat memasukkan beberapa nilai.

  • Peka huruf besar/kecil

  • Tidak peka huruf besar/kecil

-

Hostname

hostname

Hostname dari permintaan klien. Urutan pencocokan: host di URL permintaan > host di header permintaan Host.

Tidak berlaku

  • berisi salah satu

  • tidak berisi salah satu

Host dari permintaan klien. Anda dapat memasukkan beberapa nilai.

  • Peka huruf besar/kecil

  • Tidak peka huruf besar/kecil

$host atau $http_host

Alamat IP klien

clientip

Alamat IP klien. IPv4 (misalnya, 1.1.X.X), IPv6 (misalnya, 240e:95c:3004:2:3:0:0:XXX), dan Blok CIDR (misalnya, 20.209.XXX.XXX/31) didukung.

  • IP koneksi POP

  • IP XFF

Catatan

Untuk informasi lebih lanjut tentang IP koneksi POP dan IP XFF, lihat Mode verifikasi alamat IP.

  • berisi apa pun

  • tidak berisi apa pun

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.

  • IP koneksi POP

  • IP XFF

Catatan

Untuk informasi lebih lanjut tentang IP koneksi POP dan IP XFF, lihat Mode verifikasi alamat IP.

  • sama dengan

  • tidak sama dengan

  • v4

  • v6

Tidak berlaku

-

Penyedia layanan Internet (ISP)

geolocation

ISP tempat alamat IP klien terdaftar.

  • IP koneksi POP

  • IP XFF

Catatan

Untuk informasi lebih lanjut tentang IP koneksi POP dan IP XFF, lihat Mode verifikasi alamat IP.

  • berisi salah satu

  • tidak berisi apa pun

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.

  • IP koneksi POP

  • IP XFF

Catatan

Untuk informasi lebih lanjut tentang IP koneksi POP dan IP XFF, lihat Mode verifikasi alamat IP.

  • berisi salah satu

  • tidak berisi apa pun

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.

  • ada

  • tidak ada

  • berisi salah satu

  • tidak berisi apa pun

  • lebih besar dari

  • lebih besar dari atau sama dengan

  • kurang dari

  • kurang dari atau sama dengan

Wildcard ? dan * didukung. Anda dapat memasukkan beberapa nilai.

  • Peka huruf besar/kecil

  • Tidak peka huruf besar/kecil

$arg_{name}

Header permintaan

header

Header dalam permintaan klien.

Anda dapat memasukkan nama parameter atau memilih parameter dari daftar drop-down.

  • ada

  • tidak ada

  • berisi salah satu

  • tidak berisi salah satu

  • lebih besar dari

  • lebih besar dari atau sama dengan

  • kurang dari

  • kurang dari atau sama dengan

Anda dapat memasukkan beberapa nilai.

  • Peka huruf besar/kecil

  • Tidak peka huruf besar/kecil

$http_{name}

Cookie

cookie

Cookie dalam permintaan klien.

Masukkan nama cookie.

  • ada

  • tidak ada

  • mengandung apa pun

  • tidak berisi apa pun

  • lebih besar dari

  • lebih besar dari atau sama dengan

  • kurang dari

  • kurang dari atau sama dengan

Wildcard ? dan * didukung. Anda dapat memasukkan beberapa nilai.

  • Peka huruf besar/kecil

  • Tidak peka huruf besar/kecil

$cookie_{name}

User-Agent

useragent

Header User-Agent dalam permintaan klien.

Tidak berlaku

  • mengandung apa pun

  • tidak berisi apa pun

Anda dapat memilih nilai dari daftar drop-down atau memasukkan nilai User-Agent, seperti *Chrome/25*. Wildcard ? dan * didukung. Anda dapat memasukkan beberapa nilai. Maksimal 32 nilai User-Agent dapat dikonfigurasi. Jika batas ini terlampaui, konfigurasi tidak berlaku.

  • Peka huruf besar/kecil

  • Tidak peka huruf besar/kecil

$http_user_agent

Bucket range

range

Mencocokkan persentase tertentu dari permintaan klien.

Tidak berlaku

  • sama dengan

  • tidak sama dengan

Masukkan nilai persentase.

Tidak berlaku

-

Waktu

time

Waktu terjadinya permintaan klien. Waktu dalam UTC+8. Contoh, 09:10~14:22.

Tidak berlaku

  • berisi salah satu

  • tidak berisi salah satu

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 $region:$isp.

  • ada

  • tidak ada

  • berisi salah satu

  • tidak berisi apa pun

  • lebih besar dari

  • lebih besar dari atau sama dengan

  • kurang dari

  • kurang dari atau sama dengan

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 permintaan https://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, bukan txt. 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 path data di subdirektori apa pun di bawah /api/.

    • .??: Mencocokkan semua ekstensi file dua karakter, seperti .js dan .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-for adalah 10.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-for adalah 10.10.10.10,192.168.0.1.

    • Alamat IP klien asli (alamat IP paling kiri dalam header permintaan x-forwarded-for) adalah 10.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.

Catatan

Operator pencocokan (matchOperator)

Operator

condition parameter fungsi

Deskripsi

sama dengan

matchOperator diatur ke equals.

Kondisi terpenuhi hanya jika variabel benar-benar sama dengan atau tidak sama dengan nilai pencocokan yang ditentukan.

tidak sama dengan

matchOperator diatur ke equals, dan parameter negate diatur ke true.

ada

matchOperator diatur ke exists.

Kondisi terpenuhi tergantung pada apakah variabel yang ditentukan ada dalam permintaan.

tidak ada

matchOperator diatur ke exists, dan parameter negate diatur ke true.

Mengandung apa pun

matchOperator diatur ke contains.

Kondisi terpenuhi jika variabel berisi (atau tidak berisi) salah satu nilai pencocokan yang ditentukan. Maksimal 32 nilai pencocokan didukung.

Dua jenis pencocokan ketercakupan didukung:

  • Pencocokan eksak: Variabel harus sama persis dengan nilai yang ditentukan. Misalnya, jika nilainya a, variabel juga harus a.

  • Pencocokan wildcard: Anda dapat menggunakan * sebagai wildcard. Pola yang didukung termasuk a*, *a, dan *a*. Ini mencocokkan abc, bca, dan bcabc secara berurutan.

tidak berisi apa pun

matchOperator diatur ke contains, dan parameter negate diatur ke true.

lebih besar dari

matchOperator diatur ke gt.

Artinya, >

kurang dari

matchOperator diatur ke lt.

Artinya, <

lebih besar dari atau sama dengan

matchOperator diatur ke ge.

Artinya, >=

kurang dari atau sama dengan

matchOperator diatur ke le.

Artinya, <=

pencocokan ekspresi reguler

matchOperator diatur ke regex.

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

matchOperator diatur ke regex, dan parameter negate diatur ke true.

Wildcard

Wildcard

Deskripsi

Contoh pencocokan path

?

Mencocokkan karakter tunggal apa pun.

/img/?.png mencocokkan sumber daya dengan nama file satu karakter, seperti /img/a.png dan /img/b.png.

*

Mencocokkan nol atau lebih karakter.

/api/* mencocokkan semua path di bawah /api/, seperti /api/v1/users dan /api/v2/products. /static/*.css mencocokkan semua file CSS di direktori /static/.

Fitur yang mendukung kondisi aturan

Kategori

Fitur

Konfigurasi dasar

Origin kondisional

Pengaturan cache

Waktu kedaluwarsa cache

Modifikasi header respons arah keluar

Penulisan ulang URL

Kunci cache kustom

Pengaturan origin

Modifikasi header permintaan arah keluar

Modifikasi header respons arah masuk

Menulis ulang parameter pengambilan asal

Tentukan host asal

Kontrol akses

Daftar hitam/daftar putih Referer

Penandatanganan URL

Daftar hitam/daftar putih IP

Daftar hitam/daftar putih User-agent

Optimasi performa

Abaikan parameter

Pengaturan video

Pengambilan asal range

Pembatasan trafik

Pembatasan kecepatan permintaan tunggal

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

  1. Masuk ke Konsol CDN.

  2. Di panel navigasi kiri, klik Domain Names.

  3. Di halaman Domain Names, temukan nama domain target dan klik Manage di kolom Actions.

  4. Di bilah navigasi kiri untuk nama domain tertentu, klik Rules Engine.

  5. Klik Add Rule.

  6. Di halaman Add Rule, atur Rule Name dan Rule Content.

  7. 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:

  1. 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.

  2. 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:

  1. 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.

  2. 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.

Catatan

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 $1 adalah 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, .js atau .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:

  1. Atur Match Type ke File Extension.

  2. Atur Match Operator ke Contains any of.

  3. 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.