全部產品
Search
文件中心

Server Load Balancer:AScript內建變數表

更新時間:May 08, 2025

當ALB控制台上的標準配置無法滿足您的業務需求時,可通過簡單的可程式化指令碼AScript來實現功能的二次開發。本文為您介紹AScript指令碼中所有內建變數的含義和對應Nginx原生變數。

內建變數表

AScript內建變數如下表所示。

內建變數名

含義

對應Nginx原生變數

$arg_{name}

Query String中的參數name值。Query String表示HTTP請求中的請求參數。

ngx.var.arg_{name}

說明

{name}中出現的串連號(-),需要使用底線(_)替代,例如:X-USER-ID對應為$arg_x_user_id

$http_{name}

要求標頭中的name值。

ngx.var.http_{name}

說明

{name}中出現的串連號(-),需要使用底線(_)替代,例如:X-USER-ID對應為$http_x_user_id

$cookie_{name}

請求cookie頭中的name值。

ngx.var.cookie_{name}

說明

{name}中出現的串連號(-),需要使用底線(_)替代,例如:X-USER-ID對應為$cookie_x_user_id

$scheme

協議類型。

ngx.var.scheme

$server_protocol

協議版本。

ngx.var.server_protocol

$host

原始host。

ngx.var.host

$uri

原始URI。

ngx.var.raw_uri

$args

$args表示當前HTTP請求的全部請求參數,但不包含問號(?)。例如:http://www.a.com/1k.file?k1=v1&k2=v2

  • $arg_k1可以獲得對應的v1值。

  • $args可以獲得整個請求參數字串,即k1=v1&k2=v2,不包括問號(?)。

ngx.var.args

$request_method

要求方法。

ngx.var.request_method

$request_uri

uri+'?'+args的內容。

ngx.var.request_uri

$remote_addr

客戶的IP地址。

ngx.var.remote_addr

說明
  • 內建變數名前的貨幣符號($)僅為強調其內建變數屬性,刪除後不影響使用。

  • 內建變數不允許擔當左值,即內建變數不允許被賦值。

  • 每條AScript規則中最多支援使用200個全域變數,局部變數不限。如果全域變數超過200個請自訂函數,並在函數中以局部變數的形式使用全域變數。