AScript adalah fitur skrip yang dapat diprogram dengan kemampuan kustomisasi tinggi. Fitur ini memungkinkan Anda melakukan pengembangan sekunder pada aturan pengalihan ketika konfigurasi standar di konsol ALB tidak memenuhi kebutuhan bisnis Anda.
Apa itu AScript?
AScript menyediakan sintaksis yang mudah dipelajari dan berbagai fungsi untuk membuat konfigurasi ALB kustom.
AScript mendukung fungsi tanpa enkapsulasi, variabel bawaan, dan pernyataan if-else. Anda dapat menggunakan variabel dan fungsi untuk membuat aturan pengalihan kustom, sehingga bisnis Anda dapat beradaptasi dengan cepat terhadap perubahan.
Untuk detail tentang sintaksis AScript, lihat Sintaksis AScript.
Skenario penggunaan
Perlindungan dari Hotlinking
Dengan AScript, Anda dapat menyesuaikan algoritma autentikasi, daftar hitam User-Agent (UA), dan daftar putih Referer. AScript memungkinkan Anda menyesuaikan logika autentikasi berdasarkan parameter permintaan, cookie, atau algoritma, membantu melindungi sumber daya Anda dari serangan.
Kontrol Akses Berdasarkan Daftar Putih atau Hitam
Anda dapat menggunakan AScript untuk mengonfigurasi daftar hitam atau daftar putih IP guna mengontrol akses dari klien.
Penyesuaian Header Permintaan dan Respons
AScript memungkinkan Anda memodifikasi variabel seperti header permintaan dan respons sesuai dengan kebutuhan bisnis Anda.
Pengubahan Ulang Permintaan dan Pengalihan
Dengan AScript, Anda dapat menulis ulang URI permintaan dan ekstensi file, menambahkan awalan URI, serta melakukan pengalihan 302. Hal ini memungkinkan Anda menulis ulang permintaan atau mengarahkannya ke sumber daya yang diinginkan.
Sebagai contoh, jika situs web Anda mendukung berbagai bahasa, permintaan dapat dialihkan ke URL yang menunjuk ke konten dalam bahasa yang diminta. Misalnya, permintaan dalam bahasa Inggris atau Jerman dialihkan dari situs Tiongkok ke situs berbahasa Inggris atau Jerman, masing-masing.
Penagihan
Untuk informasi tentang bagaimana jumlah evaluasi aturan memengaruhi biaya Unit Kapasitas Load Balancer (LCU), lihat Aturan Penagihan.
Cara kerjanya
Prinsip kerja
Seperti halnya aturan pengalihan standar, AScript digunakan untuk menentukan cara permintaan diproses oleh ALB.
Ketika permintaan mencapai ALB, ALB memproses permintaan tersebut berdasarkan aturan pengalihan yang dikonfigurasi di konsol ALB. AScript dapat menjalankan skrip untuk memproses permintaan sebelum atau setelah aturan pengalihan diterapkan.
Skrip dieksekusi berdasarkan model berikut:
AScript menjalankan skrip untuk melakukan berbagai operasi. Operasi hanya dipicu ketika kondisi dalam skrip terpenuhi.
Anda dapat menentukan posisi eksekusi skrip dan prioritasnya dalam pipa pemrosesan permintaan.
Skrip dikelola berdasarkan pendengar.
Posisi eksekusi
Anda dapat mengonfigurasi skrip untuk dijalankan sebelum atau setelah aturan pengalihan arah masuk diterapkan, atau sebelum aturan pengalihan arah keluar diterapkan. Operasi yang dapat dilakukan bervariasi berdasarkan posisi eksekusi:
Sebelum atau setelah aturan pengalihan arah masuk: mengganti nama file yang sering digunakan, mengonversi ekstensi file menjadi huruf kecil, menambahkan awalan URI, dan menulis ulang ekstensi file.
Sebelum aturan pengalihan arah keluar: mengganti nama file yang sering digunakan.
Status eksekusi
Ketika mengonfigurasi skrip di halaman Add Script atau Edit Script, di bagian Advanced Settings, Anda dapat memilih If a request carries the _es_dgb parameter and the value of the parameter is the specified key, the debug header is added to the response. The header carries records of script execution.
Parameter yang mendefinisikan status eksekusi skrip dijelaskan sebagai berikut:
ID Status: pengenal unik untuk status eksekusi skrip, dalam format
as-****.Tabel berikut menjelaskan nilai valid dari ID status:
ID Status
Deskripsi
Kosong
Menunjukkan skrip tidak dijalankan.
0
Menunjukkan kondisi terpenuhi.
ID ini dikembalikan ketika
if condition {}ditentukan dalam skrip danconditionterpenuhi.1
Menunjukkan kondisi tidak terpenuhi.
ID ini dikembalikan ketika
if condition {}ditentukan dalam skrip tetapiconditiontidak terpenuhi, atauif condition {}tidak ditentukan.2
Menunjukkan eksekusi skrip gagal.
Waktu Eksekusi:
Satuan: mikrodetik.
Nilai default: -1.
Waktu eksekusi yang ditampilkan di antarmuka web:
Tier 1: 0 hingga 100 µs
Tier 2: 100 hingga 500 µs
Tier 3: 500 hingga 1.000 µs
Tier 4: 1.000 hingga 5.000 µs
Tier 5: 5.000 hingga 20.000 µs
Tier 6: 20.000 hingga 50.000 µs
Tier 7: di atas 50.000 µs
Eksekusi Ditangguhkan:
Nilai default: -1.