相关说明
UDFScript脚本引擎提供一些内置的nginx变量给业务脚本使用,业务脚本通过ctyun.var("变量名")或者"ctyun.var.变量名"获取。
注意由于全局task脚本是全局性的(不是请求相关的),所以在全局task脚本中不能使用变量。
变量介绍
变量名 | 变量说明 | 示例 |
---|---|---|
arg_参数名 | url中的某个具体参数的值。 | 比如:请求为:http://ctyun.cn?a=1&b=2,调用ctyun.var("arg_a")返回"1"。 |
http_参数名 | 某个请求头xxx的值。 | 比如:请求为:http://ctyun.cn/a -H "test: hello" -H "head-acc: 222"。 调用ctyun.var("http_test")返回“hello”。 调用ctyun.var("http_head_acc") 返回“222”。 注意: 如果xxx有破折号,通过var调用时,用下划线代替。 |
cookie_xxx | 请求cookie头中的name值。 | 使用方式同上。 |
scheme | 请求使用的Web协议,“http” 或 “https”。 | ctyun.var("scheme") 返回http。 |
server_protocol | 服务器的HTTP版本,通常为 “HTTP/1.0” 或 “HTTP/1.1”。 | ctyun.var("server_protocol") 返回HTTP/1.1。 |
time_iso8601 | 服务器时间的ISO 8610格式。 | ctyun.var("time_iso8601") 返回 2022-07-14T11:13:56+08:00。 |
time_local | 服务器时间。 | ctyun.var("time_local") 返回14/Jul/2022:11:13:56 +0800。 |
time_http | 服务器时间的http表示法。 | ctyun.var("time_http") 返回 Thu, 14 Jul 2022 03:13:56 GMT。 |
host | 客户端请求的域名。 | ctyun.var("host") 返回ctyun.cn。 |
request_uri | 用户原始请求url包括查询参数。 | 比如:客户端发送请求uri为: /%E4%BD%A0%E5%A5%BD?tt=123。 ctyun.var("request_uri") 返回/%E4%BD%A0%E5%A5%BD?tt=123。 |
uri | request_uri变量中不带查询参数部分,且进行urldecode。 | 比如:客户端发送请求uri为: /%E4%BD%A0%E5%A5%BD?tt=123。 ctyun.var("uri") 返回 /你好。 |
query_string | 查询参数, request_uri的参数部分。 | 比如:请求uri为: /hello?tt=123&t2=%E4%BD%A0%E5%A5%BD。 ctyun.var("query_string") 返回 tt=123&t2=%E4%BD%A0%E5%A5%BD。 |
request_method | HTTP请求方法,通常为"GET"或"POST"等。 | ctyun.var("request_method") 返回GET。 |
remote_addr | 返回客户端ip。 | ctyun.var("remote_addr") 返回172.21.51.44。 |
remote_port | 客户端端口号。 | ctyun.var("remote_port") 返回38966。 |
server_addr | 服务端ip。 | ctyun.var("server_addr") 返回172.21.51.88。 |
server_port | 服务端端口号。 | ctyun.var("server_port") 返回80。 |
is_args | 是否有请求参数。 | ctyun.var.is_args 返回 "?"或者空字符串。 |
args | 请求参数。 | ctyun.var.args 返回 "a=1&b=2&c=3"。 |