全部产品
Search
文档中心

负载均衡:AScript内置变量表

更新时间:May 07, 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个请自定义函数,并在函数中以局部变量的形式使用全局变量。