全部产品
Search
文档中心

Server Load Balancer:AScript

更新时间:Jul 02, 2025

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 dan condition terpenuhi.

    1

    Menunjukkan kondisi tidak terpenuhi.

    ID ini dikembalikan ketika if condition {} ditentukan dalam skrip tetapi condition tidak terpenuhi, atau if 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.