全部產品
Search
文件中心

Server Load Balancer:可程式化指令碼AScript

更新時間:May 10, 2025

AScript有強大的轉寄規則自訂能力,當ALB控制台上的標準配置無法滿足您的業務需求時,可通過簡單的可程式化指令碼AScript來實現功能的二次開發。

AScript簡介

AScript通過簡單易學的文法和龐大的函數庫,能夠積木式地組合出個人化的ALB配置。

AScript內建了可以識別的變數、簡單的判斷語句,同時提供了可直接調用的封裝好的函數。通過簡單的變數判斷並調用現成的函數,即可滿足您對轉寄規則的各類定製需求,有效地解決配置需求無法實現、業務變更不敏捷的問題。

關於AScript的文法的更多資訊,請參見AScript文法規則

應用情境

情境

描述

防盜鏈需求

應用於自訂鑒權演算法、User-Agent黑名單和Referer白名單等情境需求。基於請求參數、Cookie或其他複雜演算法等各類鑒權需求,幫您快速實現鑒權,從而完成對資源的保護。

黑白名單管控

通過設定用戶端IP的黑白名單,來完成許可權管控。

要求標頭和回應標頭控制

可以使用AScript指令碼對請求參數和要求標頭等變數進行靈活修改。

改寫和重新導向

通過改寫URI、檔案尾碼、添加URI首碼、302重新導向等操作,實現您的改寫和重新導向目標。多應用在多語言版本的網站之上,例如中文網站可能會302重新導向到1個位置,英文網站或者德文網站可能會302重新導向到不同的位置。

功能計費

關於規則評估數如何影響LCU費,更多資訊,請參見ALB計費規則

工作原理

運行原理

您配置的AScript規則與ALB控制台上的標準配置一樣,均用於處理ALB請求。

當用戶端請求到達ALB監聽後,ALB監聽會根據您在控制台上配置的轉寄規則對請求進行處理。以ALB控制台上的標準配置為參照物,AScript可選擇在規則處理前或規則處理後生效。

規則模型

AScript的規則模型如下:

  • 核心出發點是將不同業務功能隔離至不同規則,以及控制規則的執行流。

  • 每條規則可以各自選擇規則的執行位置。

  • 以監聽維度來進行設計的。

規則執行位置

AScript規則的執行位置包含請求方向規則執行前、請求方向規則執行後和回應程式向規則執行前。

  • 請求方向規則執行前/後:熱門檔案自動重新命名、檔案尾碼小寫化、添加URI首碼和檔案尾碼名改寫等情境。

  • 回應程式向規則執行前:熱門檔案自動重新命名等情境。

規則執行情況

您可以在配置AScript規則時,在進階配置中選中攜帶_es_dbg參數,開啟相應的調試回應標頭,以輸出規則執行記錄。

規則執行情況欄位詳細說明:

  • 規則ID:每條規則的唯一性標識,格式為as-****

  • 執行情況code及說明:

    執行情況code

    執行情況說明

    未執行。

    0

    執行命中。

    當規則含有if condition {},且condition為真。

    1

    執行未命中。

    當規則含有if condition {},且condition為假;或規則不包含if condition {}

    2

    執行異常。

  • 執行耗時:

    • 單位:微秒us。

    • 預設值:-1

    • 前端呈現的耗時區間分布:

      • 第1檔:0~100us

      • 第2檔:100~500us

      • 第3檔:500~1000us

      • 第4檔:1000~5000us

      • 第5檔:5000~20000us

      • 第6檔:20000~50000us

      • 第7檔:>50000us

  • AScript規則的中斷執行:

    預設值:-1