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。