本文為您介紹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 。
| 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個請自訂函數,並在函數中以局部變數的形式使用全域變數。