AScript是ALB推出的可编程脚本,用于实现自定义转发规则。
AScript功能白名单开放中,如需添加或修改脚本,请联系商务经理。
语法规则
AScript全文不允许出现任何双引号。
|
语法 |
规则 |
|
注释 |
以#开头的当前行后续内容,均为注释。例如: |
|
标识符 |
|
|
数据类型 |
|
|
变量 |
|
|
运算符 |
|
|
语句 |
|
|
函数 |
|
内置变量表
-
内置变量名前的美元符号(
$)仅为强调其内置变量属性,删除后不影响使用。 -
内置变量不允许担当左值,即内置变量不允许被赋值。
-
每条AScript规则中最多支持使用200个全局变量,局部变量不限。如果全局变量超过200个请自定义函数,并在函数中以局部变量的形式使用全局变量。
|
内置变量名 |
含义 |
对应Nginx原生变量 |
|
$arg_{name} |
|
ngx.var.arg_{name}
|
|
$http_{name} |
请求头中的 |
ngx.var.http_{name}
|
|
$cookie_{name} |
请求cookie头中的 |
ngx.var.cookie_{name}
|
|
$scheme |
协议类型。 |
ngx.var.scheme |
|
$server_protocol |
协议版本。 |
ngx.var.server_protocol |
|
$host |
原始host。 |
ngx.var.host |
|
$uri |
原始URI。 |
ngx.var.raw_uri |
|
$args |
|
ngx.var.args |
|
$request_method |
请求方法。 |
ngx.var.request_method |
|
$request_uri |
|
ngx.var.request_uri |
|
$remote_addr |
客户的IP地址。 |
ngx.var.remote_addr |