nginx变量说明


nginx变量说明

概述

nginx的变量设计非常巧妙,可以实现强大的动态配置,也是module和module之间通信的一种有效手段,通俗的理解,变量就是在配置文件中,以$开头的配置。任何模块都可以导出变量,但是变量名不要和系统内置的变量名冲突。

变量的属性

NGX_HTTP_VAR_CHANGEABLE #变量的可变的,不能set

NGX_HTTP_VAR_NOCACHEABLE #如果设置为1,ngx_http_get_flushed_variable不能从r->variables获取,需要直接去取

NGX_HTTP_VAR_INDEXED #可通过r->variables的index读取的变量

NGX_HTTP_VAR_NOHASH #该变量不需要被hash,不放入variables_hash里面去

内置变量说明

除了content_length、host、status、remote_addr、request等系统内置变量外,还有特殊前缀的变量可供nginx配置、module调度使用.

前缀get_hander说明举例
http_xxx ngx_http_variable_unknown_header_in 从header_in获取变量 http_logid,获取请求头的logid
sent_http_xxx ngx_http_variable_unknown_header_out 从header_out获取变量 sent_http_xxx
cookie_xxx ngx_http_variable_cookie 从cookie中获取变量 cookie_baiduid
arg_xxx ngx_http_variable_argument 从args出解析变量 arg_ie

更多

原文地址:https://www.cnblogs.com/matengfei123/p/13517526.html