nginx的那些内置变量

nginx在配置文件nginx.conf中可以使用很多内置变量,配置如下:

        location /info {
            add_header ‘Content-Type‘ ‘text/html‘;
            echo "http_user_agent            :$http_user_agent         <br>";
            echo "http_cookie                :$http_cookie             <br>";
            echo "http_user_agent            :$http_user_agent         <br>";
            echo "http_cookie                :$http_cookie             <br>";
            echo "arg_name                   :$arg_name                <br>";
            echo "args                       :$args                    <br>";
            echo "binary_remote_addr         :$binary_remote_addr      <br>";
            echo "body_bytes_sent            :$body_bytes_sent         <br>";
            echo "bytes_sent                 :$bytes_sent              <br>";
            echo "connection                 :$connection              <br>";
            echo "connection_requests        :$connection_requests     <br>";
            echo "content_length             :$content_length          <br>";
            echo "content_type               :$content_type            <br>";
            echo "cookie_name                :$cookie_name             <br>";
            echo "document_root              :$document_root           <br>";
            echo "document_uri               :$document_uri            <br>";
            echo "uri                        :$uri                     <br>";
            echo "host                       :$host                    <br>";
            echo "hostname                   :$hostname                <br>";
            echo "http_name                  :$http_name               <br>";
            echo "https                      :$https                   <br>";
            echo "is_args                    :$is_args                 <br>";
            echo "limit_rate                 :$limit_rate              <br>";
            echo "msec                       :$msec                    <br>";
            echo "nginx_version              :$nginx_version           <br>";
            echo "pid                        :$pid                     <br>";
            echo "pipe                       :$pipe                    <br>";
            echo "proxy_protocol_addr        :$proxy_protocol_addr     <br>";
            echo "query_string               :$query_string            <br>";
            echo "realpath_root              :$realpath_root           <br>";
            echo "remote_addr                :$remote_addr             <br>";
            echo "remote_port                :$remote_port             <br>";
            echo "remote_user                :$remote_user             <br>";
            echo "request                    :$request                 <br>";
            echo "request_body               :$request_body            <br>";
            echo "request_body_file          :$request_body_file       <br>";
            echo "request_completion         :$request_completion      <br>";
            echo "request_filename           :$request_filename        <br>";
            echo "request_length             :$request_length          <br>";
            echo "request_method             :$request_method          <br>";
            echo "request_time               :$request_time            <br>";
            echo "request_uri                :$request_uri             <br>";
            echo "scheme                     :$scheme                  <br>";
            echo "sent_http_name             :$sent_http_name          <br>";
            echo "server_addr                :$server_addr             <br>";
            echo "server_name                :$server_name             <br>";
            echo "server_port                :$server_port             <br>";
            echo "server_protocol            :$server_protocol         <br>";
            echo "status                     :$status                  <br>";
            echo "tcpinfo_rtt                :$tcpinfo_rtt             <br>";
            echo "tcpinfo_rttvar             :$tcpinfo_rttvar          <br>";
            echo "tcpinfo_snd_cwnd           :$tcpinfo_snd_cwnd        <br>";
            echo "tcpinfo_rcv_space          :$tcpinfo_rcv_space       <br>";
            echo "tcpinfo_rtt                :$tcpinfo_rtt             <br>";
            echo "tcpinfo_rttvar             :$tcpinfo_rttvar          <br>";
            echo "tcpinfo_snd_cwnd           :$tcpinfo_snd_cwnd        <br>";
            echo "tcpinfo_rcv_space          :$tcpinfo_rcv_space       <br>";
            echo "tcpinfo_rtt                :$tcpinfo_rtt             <br>";
            echo "tcpinfo_rttvar             :$tcpinfo_rttvar          <br>";
            echo "tcpinfo_snd_cwnd           :$tcpinfo_snd_cwnd        <br>";
            echo "tcpinfo_rcv_space          :$tcpinfo_rcv_space       <br>";
            echo "tcpinfo_rtt                :$tcpinfo_rtt             <br>";
            echo "tcpinfo_rttvar             :$tcpinfo_rttvar          <br>";
            echo "tcpinfo_snd_cwnd           :$tcpinfo_snd_cwnd        <br>";
            echo "tcpinfo_rcv_space          :$tcpinfo_rcv_space       <br>";
            echo "time_iso8601               :$time_iso8601            <br>";
            echo "time_local                 :$time_local              <br>";
            echo "uri                        :$uri                     <br>";
        }

  

测试结果如下:

http://10.10.10.128/info?a=1&b=2

http_user_agent :Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.104 Safari/537.36
http_cookie :_ga=GA1.1.1789233566.1450259527
http_user_agent :Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.104 Safari/537.36
http_cookie :_ga=GA1.1.1789233566.1450259527
arg_name :
args :a=1&b=2
binary_remote_addr :?w?
body_bytes_sent :0
bytes_sent :0
connection :6
connection_requests :2
content_length :
content_type :
cookie_name :
document_root :/opt/openresty/nginx/html
document_uri :/info
uri :/info
host :10.10.10.128
hostname :kvm36143.wangyaofu
http_name :
https :
is_args :?
limit_rate :0
msec :1450346470.512
nginx_version :1.9.3
pid :8161
pipe :.
proxy_protocol_addr :
query_string :a=1&b=2
realpath_root :/opt/openresty/nginx/html
remote_addr :10.10.10.127
remote_port :57621
remote_user :
request :GET /info?a=1&b=2 HTTP/1.1
request_body :
request_body_file :
request_completion :
request_filename :/opt/openresty/nginx/html/info
request_length :391
request_method :GET
request_time :0.000
request_uri :/info?a=1&b=2
scheme :http
sent_http_name :
server_addr :10.10.10.128
server_name :localhost
server_port :80
server_protocol :HTTP/1.1
status :200
tcpinfo_rtt :73750
tcpinfo_rttvar :99500
tcpinfo_snd_cwnd :10
tcpinfo_rcv_space :14480
tcpinfo_rtt :73750
tcpinfo_rttvar :99500
tcpinfo_snd_cwnd :10
tcpinfo_rcv_space :14480
tcpinfo_rtt :73750
tcpinfo_rttvar :99500
tcpinfo_snd_cwnd :10
tcpinfo_rcv_space :14480
tcpinfo_rtt :73750
tcpinfo_rttvar :99500
tcpinfo_snd_cwnd :10
tcpinfo_rcv_space :14480
time_iso8601 :2015-12-17T18:01:10+08:00
time_local :17/Dec/2015:18:01:10 +0800
uri :/info

参考:

http://www.cnphp.info/nginx-embedded-variables-lasted-version.html

https://openresty.org/download/agentzh-nginx-tutorials-zhcn.html

http://openresty.org/#eBooks

时间: 2024-10-09 19:56:55

nginx的那些内置变量的相关文章

使用正则表达式来截取nginx中的内置变量

nginx 中的内置变量都可以通过 if 指令 + 正则表达式来进行截取,截取之后的结果通过正则表达式的分组来进行引用 比如:从请求中传过来的一个名为 ssl_client_s_dn 的变量,它的值是类似 cn=username这样的 我们想要只留下username ,可以这样: if ( $ssl_client_s_dn ~ (CN=([\S\s]*)) ){                 set  $username $2;  } 其中 $2 是指获取正则表达式匹配结果的第二个分组(也就是

Nginx核心模块内置变量

本文根据Nginx官网整理了Nginx的ngx_http_core_module模块的内置变量,可与Apache做对比参考.随后做了一次测试观察各变量的值,并附上测试结果. 1.变量列表 $arg_name    请求行中参数name的值. $args    请求行中的所有参数. $binary_remote_addr    客户端地址的二进制形式. $body_bytes_sent    发送给客户端的字节数,不包含响应头的内容,与Apache的mod_log_config模块中的%B兼容.

Nginx内置变量以及日志格式变量参数详解

Nginx内置变量以及日志格式变量参数详解 $args #请求中的参数值 $query_string #同 $args $arg_NAME #GET请求中NAME的值 $is_args #如果请求中有参数,值为"?",否则为空字符串 $uri #请求中的当前URI(不带请求参数,参数位于$args),可以不同于浏览器传递的$request_uri的值,它可以通过内部重定向,或者使用index指令进行修改,$uri不包含主机名,如"/foo/bar.html". $d

nginx内置变量

今天在整理nginx的rewrite规则,发现遇到许多关于nginx内置变量的判断,所以此处将nginx的内置变量温习一遍······ nginx支持的所有内置变量: $arg_name 请求中的的参数名,即"?"后面的arg_name=arg_value形式的arg_name $args 请求中的参数值 $binary_remote_addr 客户端地址的二进制形式, 固定长度为4个字节 $body_bytes_sent 传输给客户端的字节数,响应头不计算在内:这个变量和Apache

nginx内置变量 大全

nginx内置变量 内置变量存放在  ngx_http_core_module 模块中,变量的命名方式和apache 服务器变量是一致的.总而言之,这些变量代表着客户端请求头的内容,例如$http_user_agent, $http_cookie, 等等.下面是nginx支持的所有内置变量: $arg_name请求中的的参数名,即"?"后面的arg_name=arg_value形式的arg_name $args请求中的参数值 $binary_remote_addr客户端地址的二进制形式

nginx基础学习第二篇:nginx内置变量的使用

ngx_http_core模块提供的内置变量有很多,常见的有 $uri,用来获取当前请求的uri,不含请求参数. $request_uri,用来获取请求最原始的uri,包含请求参数,且未解码. $request,获取请求方法(GET或者POST).$request_uri.HTTP协议版本. $args,获取当前请求的参数串(即请求中问号后面的部分,如果有的话),未解码的原始值.$args变量是可以改变的,利用set指令即可 set $args a=1&b=2.需要注意的是,绝大部分的内置变量都

自定义nginx访问日志和内置变量使用

自定义nginx访问日志和内置变量使用 安装第三方echo模块后查看内置变量 内置变量 1.$args 用户在浏览器中查找的相关参数(uri中?之后的字段)2.$document_root 站点根目录所在的位置3.$document_uri 去除url中域名部分后所剩下的目录4.$host 所访问的主机5.$http_user_agent 客户端所使用的浏览器6.$http_cookie 客户端的cookie信息7.$limit_rate 客户端的下载速率0表示不限制速度 server { se

nginx 内置变量

内置变量 server { listen 80; server_name cpu.enjoy.com; if ( $http_origin ~ http://(.*).enjoy.com){ set $allow_url $http_origin; } #1 location /var { echo $allow_url; echo '[host]=$host' ; echo '[http_HEADER]=$http_HEADER' ; echo '[remote_addr]=$remote_a

Linux高级文本处理之gawk内置变量(一)

一.FS –输入字段分隔符 FS是awk内置变量,用来制定行分隔符,功能能-F一样,区别在于FS只能用在BEGIN语句块当中,命令格式如下: BEGIN{FS="SEPARATOR"} 实例1: [[email protected] ~]# awk 'BEGIN { FS=","; print "---------------------------\nName\tTitle\n------------------------"} {print