设为首页 收藏本站
查看: 2963|回复: 0

[经验分享] nginx实操(3)内部变量说明

[复制链接]

尚未签到

发表于 2018-11-14 11:47:29 | 显示全部楼层 |阅读模式
nginx内置变量  

  
$arg_name
  
请求中的的参数名,即“?”后面的arg_name=arg_value形式的arg_name
  

  
$args
  
请求中的参数值
  

  
$binary_remote_addr
  
客户端地址的二进制形式, 固定长度为4个字节
  

  
$body_bytes_sent
  
传输给客户端的字节数,响应头不计算在内;这个变量和Apache的mod_log_config模块中的“%B”参数保持兼容
  

  
$bytes_sent
  
传输给客户端的字节数 (1.3.8, 1.2.5)
  

  
$connection
  
TCP连接的序列号 (1.3.8, 1.2.5)
  

  
$connection_requests
  
TCP连接当前的请求数量 (1.3.8, 1.2.5)
  

  
$content_length
  
“Content-Length” 请求头字段
  

  
$content_type
  
“Content-Type” 请求头字段
  

  
$cookie_name
  
cookie名称
  

  
$document_root
  
当前请求的文档根目录或别名
  

  
$document_uri
  
同 $uri
  

  
$host
  
优先级如下:HTTP请求行的主机名>”HOST”请求头字段>符合请求的服务器名
  

  
$hostname
  
主机名
  

  
$http_name
  
匹配任意请求头字段; 变量名中的后半部分“name”可以替换成任意请求头字段,如在配置文件中需要获取http请求头:“Accept-Language”,那么将“-”替换为下划线,大写字母替换为小写,形如:$http_accept_language即可。
  

  
$https
  
如果开启了SSL安全模式,值为“on”,否则为空字符串。
  

  
$is_args
  
如果请求中有参数,值为“?”,否则为空字符串。
  

  
$limit_rate
  
用于设置响应的速度限制,详见 limit_rate。
  

  
$msec
  
当前的Unix时间戳 (1.3.9, 1.2.6)
  

  
$nginx_version
  
nginx版本
  

  
$pid
  
工作进程的PID
  

  
$pipe
  
如果请求来自管道通信,值为“p”,否则为“.” (1.3.12, 1.2.7)
  

  
$proxy_protocol_addr
  
获取代理访问服务器的客户端地址,如果是直接访问,该值为空字符串。(1.5.12)
  

  
$query_string
  
同 $args
  

  
$realpath_root
  
当前请求的文档根目录或别名的真实路径,会将所有符号连接转换为真实路径。
  

  
$remote_addr
  
客户端地址
  

  
$remote_port
  
客户端端口
  

  
$remote_user
  
用于HTTP基础认证服务的用户名
  

  
$request
  
代表客户端的请求地址
  

  
$request_body
  
客户端的请求主体
  
此变量可在location中使用,将请求主体通过proxy_pass, fastcgi_pass, uwsgi_pass, 和 scgi_pass传递给下一级的代理服务器。
  

  
$request_body_file
  
将客户端请求主体保存在临时文件中。文件处理结束后,此文件需删除。如果需要之一开启此功能,需要设置client_body_in_file_only。如果将次文件传递给后端的代理服务器,需要禁用request body,即设置proxy_pass_request_body off,fastcgi_pass_request_body off, uwsgi_pass_request_body off, or scgi_pass_request_body off 。
  

  
$request_completion
  
如果请求成功,值为”OK”,如果请求未完成或者请求不是一个范围请求的最后一部分,则为空。
  

  
$request_filename
  
当前连接请求的文件路径,由root或alias指令与URI请求生成。
  

  
$request_length
  
请求的长度 (包括请求的地址, http请求头和请求主体) (1.3.12, 1.2.7)
  

  
$request_method
  
HTTP请求方法,通常为“GET”或“POST”
  

  
$request_time
  
处理客户端请求使用的时间 (1.3.9, 1.2.6); 从读取客户端的第一个字节开始计时。
  

  
$request_uri
  
这个变量等于包含一些客户端请求参数的原始URI,它无法修改,请查看$uri更改或重写URI,不包含主机名,例如:”/cnphp/test.php?arg=freemouse”。
  

  
$scheme
  
请求使用的Web协议, “http” 或 “https”
  

  
$sent_http_name
  
可以设置任意http响应头字段; 变量名中的后半部分“name”可以替换成任意响应头字段,如需要设置响应头Content-length,那么将“-”替换为下划线,大写字母替换为小写,形如:$sent_http_content_length 4096即可。
  

  
$server_addr
  
服务器端地址,需要注意的是:为了避免访问linux系统内核,应将ip地址提前设置在配置文件中。
  

  
$server_name
  
服务器名,www.cnphp.info
  

  
$server_port
  
服务器端口
  

  
$server_protocol
  
服务器的HTTP版本, 通常为 “HTTP/1.0” 或 “HTTP/1.1”
  

  
$status
  
HTTP响应代码 (1.3.2, 1.2.2)
  

  
$tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd, $tcpinfo_rcv_space
  
客户端TCP连接的具体信息
  

  
$time_iso8601
  
服务器时间的ISO 8610格式 (1.3.12, 1.2.7)
  

  
$time_local
  
服务器时间(LOG Format 格式) (1.3.12, 1.2.7)
  

  
$uri
  
请求中的当前URI(不带请求参数,参数位于$args),可以不同于浏览器传递的$request_uri的值,它可以通过内部重定向,或者使用index指令进行修改,$uri不包含主机名,如”/foo/bar.html”。
  

  
$realpath_root
  
真实的目录地址而不是链接
  

  
$proxy_add_x_forwarded_for
  
变量包含客户端请求头中的"X-Forwarded-For",与$remote_addr两部分,他们之间用逗号分开。
  

  
$proxy_host
  
该变量获取的是upstream的上游代理名称,例如upstream backend
  

  
$proxy_port
  
该变量表示的是要代理到的端口
  

  
$proxy_protocol_addr
  

  
$upstream_addr
  
代理到上游的服务器地址信息
  

  
$upstream_cache_status
  
代理到上游的服务器地址信息
  

  
$upstream_response_length
  
上游服务器响应的时间
  

  
$upstream_status
  
上游服务器响应的状态码



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-634968-1-1.html 上篇帖子: nginx rewrite带参数?号跳转 下篇帖子: nginx log打印自定义头
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表