本文为您介绍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个请自定义函数,并在函数中以局部变量的形式使用全局变量。