ngx_http_core_module模块提供的变量

Posted zh-dream

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ngx_http_core_module模块提供的变量相关的知识,希望对你有一定的参考价值。

ngx_http_core_module模块提供的变量

在记录access_log访问日志文件时, 可以使用ngx_http_core_module模块处理请求时所产生的丰富的变量, 当然, 这些变量还可以用于其他HTTP模块 

$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

表示服务器向客户端发送响应的协议

默认的日志格式:
    #log_format  main  $remote_addr - $remote_user [$time_local] "$request" 
    #                  $status $body_bytes_sent "$http_referer" 
    #                  "$http_user_agent" "$http_x_forwarded_for";

 

以上是关于ngx_http_core_module模块提供的变量的主要内容,如果未能解决你的问题,请参考以下文章

细述:nginx http内核模块提供的变量和解释

ngx_http_core_module模块

nginx中ngx_http_core_module模块

Nginx模块

Nginx——模块

Nginx 模块