本文主要是介绍nginx教程第七篇:ngx_http_core_module模块提供的变量,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在记录access_log访问日志文件时, 可以使用ngx_http_core_module模块处理请求时所产
生的丰富的变量, 当然, 这些变量还可以用于其他HTTP模块。
例如:当URI中的某个参数满足设定的条件时, 有些HTTP模块的配置项可以使用类似 $arg_PARAMETER 这样的变量。
又如:若想把每个请求中的限速信息记录到access日志文件中, 则可以使用 $limit_rate 变量。
下表列出了ngx_http_core_module模块提供的这些变量:
变量 | 变量描述 |
---|---|
$arg_patameter | HTTP请求中某个参数的值,如/index.php?site=www.ttlsa.com,可以用$arg_site取得www.ttlsa.com这个值 |
$args HTTP | 请求中的完整参数 |
$binary_remote_addr | 二进制客户端地址 |
$body_bytes_sent | 表示在想客户端发送的http响应中,包体部分的字节数 |
$content_length | 表示客户端请求头部中Conten-Length字段 |
$conten_type | 表示客户端请求头部中Conten-Type字段 |
$cookie_COOKIE | 表示客户端请求头部中cookie字段 |
$document_root | 表示当前请求所使用的root配置项的值 |
$uri | 表示当前请求的URI,不带任何参数 |
$document_uri | 与$uri相同 |
$request_uri | 表示客户端发来的原始请求URI,带完整的参数 |
$host | 表示客户端请求头部中的Host字段,如果Host字段不存在,则以实际处理的server名称代替,如果Host字段中带有端口,如IP:PORT,那么$host是去掉端口的,它的值是IP,$host是全小写 |
$hostname | 表示Nginx所在机器的名称 |
$http_HREADER | 表示当前HTTP请求中相应头部的值 |
$sent_http_HERDER | 表示返回客户端的HTTP响应中相应头部的值 |
$is_args | 表示请求中的URI是否携带参数,如果携带值为?,如果没有为空字符串 |
$limit_rate | 表示当前连接的限速是多少,0表示无限速 |
$nginx_version | 表示当前Nginx的版本号 |
$query_string | 请求URI中的参数,与$args相同 |
$remote_addr | 表示客户端的地址 |
$remote_port | 表示客户端连接使用的端口 |
$remote_user | 表示使用Auth Basic Module时定义的用户名 |
$request_filename | 表示用户请求中的URI经过root或alias转换后的文件路径 |
$request_body | 表示HTTP请求中的包体,改参数只在proxy_pass或fastcgi_pass中有意义 |
$request_completion | 当请求全部完成时,其值为ok,如果没有完成,返回客户端,其值为空字符串 |
$request_method | 表示HTTP请求中的方法名,GET、PUT、POST等 |
$scheme | 表示HTTP scheme,如在请求https://nginx.com中表示https |
$server_addr | 表示服务器地址 |
$server_name | 表示服务器名称 |
$server_port | 表示服务器端口 |
$server_protocol | 表示服务器向客户端发送响应的协议 |
这篇关于nginx教程第七篇:ngx_http_core_module模块提供的变量的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!