Untuk mengelola trafik secara efektif, penting untuk memahami cara aturan diterapkan dalam Percepatan Keamanan Tepi (ESA). Panduan ini menjelaskan tiga prinsip inti dari aturan: prioritas eksekusi, perilaku aturan, dan cakupan konfigurasi.
Prioritas eksekusi: dari atas ke bawah
Aturan diproses secara berurutan, dari atas ke bawah dalam daftar aturan (berdasarkan nomor urut: 1, 2, 3, dan seterusnya).
Konfigurasi Aturan: Permintaan diperiksa terhadap Aturan 1. Jika kondisinya tidak cocok, maka akan dilanjutkan ke Aturan 2, dan seterusnya.
Pengaturan Global: Jika permintaan tidak cocok dengan salah satu aturan bernomor, maka Pengaturan Global diterapkan sebagai default akhir.
Pesanan | Aturan | Kondisi |
1 | Aturan 1 | Kondisi A (tidak cocok) |
2 | Aturan 2 | Kondisi B |
3 | Aturan 3 | Kondisi C |
Pengaturan global | Tidak ada | |
Urutan evaluasi | Aturan 1 → Aturan 2 → Aturan 3 → Pengaturan Global | |
Perilaku aturan: kumulatif versus terminasi
Ketika kondisi suatu aturan terpenuhi, itu dapat berperilaku dalam salah satu dari dua cara: Fitur kumulatif mendukung aturan untuk menerapkan aksinya, lalu ESA melanjutkan memproses aturan berikutnya. Ini memungkinkan beberapa aturan diterapkan pada satu permintaan.
Untuk aksi kumulatif
Aturan yang terkait dengan aksi kumulatif diterapkan, lalu ESA melanjutkan memproses aturan berikutnya. Ini memungkinkan beberapa aturan diterapkan pada satu permintaan.
Contoh: Memodifikasi Header Permintaan Keluar
Jika permintaan cocok dengan Aturan 2 dan Aturan 3, kedua aksi tersebut dijalankan.
Hasil: Permintaan akhir yang dikirim ke origin akan memiliki dua header baru: animal: cat dan fruit: apple.
Urutan | Aturan | Kondisi | Aksi | Dijalankan? |
1 | Aturan 1 | Kondisi A (tidak cocok) | Tambahkan header | Tidak |
2 | Aturan 2 | Kondisi B | Tambahkan header | Ya |
3 | Aturan 3 | Kondisi C | Tambahkan header | Ya |
Pengaturan global | Tidak ada | Tidak ada | Ya | |
Untuk aksi terminasi
Aksi aturan diterapkan, lalu ESA menghentikan pemrosesan aturan lebih lanjut dari jenis yang sama. Hanya aturan pertama yang cocok yang berlaku.
Contoh: Menulis Ulang URL
Jika permintaan cocok dengan Aturan 2 dan Aturan 3, hanya aksi untuk Aturan 2 yang dijalankan karena merupakan kecocokan pertama dalam urutan.
Hasil: Jalur URL ditulis ulang menjadi /animal, dan Aturan 3 tidak pernah dievaluasi.
Pesanan | Aturan | Kondisi | Aksi | Dijalankan? |
1 | Aturan 1 | Kondisi A (tidak cocok) | Tulis ulang jalur URL permintaan menjadi | Tidak |
2 | Aturan 2 | Kondisi B | Tulis ulang jalur URL permintaan menjadi | Ya |
3 | Aturan 3 | Kondisi C | Tulis ulang jalur URL permintaan menjadi | Tidak |
Pengaturan global | Tidak ada | Tidak ada | Tidak | |
Cakupan konfigurasi: tingkat fitur versus tingkat bidang
Untuk fitur kompleks, satu aturan mungkin berisi beberapa bidang konfigurasi. Bagaimana bidang-bidang ini diterapkan bergantung pada cakupan fitur tersebut.
Eksekusi tingkat fitur
Begitu aturan yang cocok ditemukan, semua bidang yang dikonfigurasikan dalam aturan tersebut diterapkan. Evaluasi untuk fitur ini segera berhenti dan tidak ada aturan lebih lanjut yang diproses.
Jika sebuah bidang tidak dikonfigurasikan, nilai default digunakan.
Contoh: Aturan SSL/TLS (Terminasi)
Jika permintaan cocok dengan Aturan 2 dan Aturan 3, hanya aksi untuk Aturan 2 yang dijalankan, dan karena paket sandi TLS tidak dikonfigurasikan, pengaturan default digunakan.
Pesanan | Aturan | Kondisi | Enkripsi SSL/TLS | Paket sandi dan versi protokol TLS | OCSP Stapling | HTTP/2 | HTTP/3 (QUIC) | Dijalankan? |
1 | Aturan 1 | Kondisi A (tidak cocok) | Diaktifkan | - | Dimatikan | Dimatikan | Dimatikan | Tidak |
2 | Aturan 2 | Kondisi B | Diaktifkan | - | Dimatikan | Dimatikan | Dimatikan | Ya |
3 | Aturan 3 | Kondisi C | Diaktifkan | - | Diaktifkan | Diaktifkan | Diaktifkan | Tidak |
Pengaturan global | Tidak ada | Dimatikan | - | Dimatikan | Diaktifkan | Diaktifkan | Tidak | |
Eksekusi tingkat bidang
Setiap bidang individu (atau pengaturan) dikonfigurasi secara independen oleh aturan prioritas tertinggi yang mendefinisikannya.
Ketika permintaan pengguna cocok dengan aturan, dan bidang fiturnya kosong, ESA mencari definisi pertama untuk masing-masingnya.
Contoh: Aturan Cache (Terminasi)
ESA memproses daftar aturan dari atas ke bawah untuk menemukan nilai untuk pengaturan pertama (seperti Kelayakan Cache). Nilai dari aturan pertama yang cocok dengan pengaturan ini digunakan dan kemudian pencarian untuk pengaturan spesifik tersebut dihentikan.
Kemudian proses ini diulangi untuk pengaturan kedua (seperti Browser TTL), lagi-lagi memindai dari atas daftar aturan untuk menemukan aturan pertama yang mendefinisikannya.
Ini berlanjut hingga semua pengaturan untuk fitur tersebut telah ditentukan.
Pesanan | Aturan | Kondisi | Kelayakan cache | Browser TTL | Edge TTL | CacheKey Kustom | Port cache | Cache tanggapan kadaluarsa | Persistensi cache |
1 | Aturan 1 | Kondisi A (tidak cocok) | Memenuhi syarat | - | Hormati TTL asal (jika ada). Jika tidak, jangan cache. | - | - | Dimatikan | - |
2 | Aturan 2 | Kondisi B | Memenuhi syarat | - | Hormati TTL asal (jika ada). Jika tidak, jangan cache. | - | - | Dimatikan | - |
3 | Aturan 3 | Kondisi C | Lewati cache | Jangan cache | - | - | - | - | - |
4 | Aturan 4 | Kondisi D | Memenuhi syarat | - | Abaikan TTL asal dan gunakan TTL cache kustom selama 1 jam | Abaikan string kueri | - | Dimatikan | - |
5 | Aturan 5 | Kondisi E | Memenuhi syarat | - | - | - | - | Dimatikan | - |
Pengaturan global | Tidak ada | - | - | - | - | Dimatikan secara default | - | Dimatikan secara default | |
Hasil | Memenuhi syarat | Jangan cache | Hormati TTL asal (jika ada). Jika tidak, jangan cache. | Abaikan string kueri | Dimatikan | Dimatikan | Dimatikan | ||
Ringkasan: perilaku aturan berdasarkan fitur
Kategori | Fitur | Perilaku | Cakupan | Prioritas |
SSL/TLS | Terminasi | Tingkat-fitur | Nomor urut lebih tinggi = prioritas lebih rendah | |
Terminasi | Tingkat-bidang | |||
Aturan transformasi | Terminasi | Tingkat-fitur | ||
Kumulatif | Tingkat-bidang | |||
Kumulatif | Tingkat-bidang | |||
Pengalihan | Terminasi | Tingkat-fitur | ||
Cache | Terminasi | Tingkat-bidang | ||
Optimisasi konten | Terminasi | Tingkat-bidang | ||
Terminasi | Tingkat-bidang | |||
Terminasi | Tingkat-bidang | |||
Optimisasi jaringan | Terminasi | Tingkat-bidang | ||
Pengambilan origin | Terminasi | Tingkat-bidang | ||
Manajemen konfigurasi | Terminasi | Tingkat-fitur | ||
Trafik | Terminasi | Tingkat-fitur | ||
Terminasi | Tingkat-fitur | Nomor urut lebih tinggi = prioritas lebih rendah. Perhatikan apakah aksi Akhiri diatur:
| ||
Keamanan | Terminasi | Tingkat-fitur | Nomor urut lebih tinggi = prioritas lebih rendah | |
Terminasi | Tingkat-fitur | |||
Terminasi | Tingkat-fitur | |||
Terminasi | Tingkat-fitur | |||
Terminasi | Tingkat-fitur | |||
Terminasi | Tingkat-fitur | |||
Terminasi | Tingkat-fitur |