nginx 的全局变量

前言

  • nginx1.15

全局变量

  • $scheme :请求的协议,比如httphttps
  • $https # 如果开启了SSL安全模式,值为“on”,否则为空字符串。
  • $host :请求的地址(IP或域名),比如127.0.0.1localhostbaidu.comwww.baidu.com
  • $hostname 机器名使用 gethostname系统调用的值
  • $time_local :访问时间及时区;
  • $status :HTTP响应代码<记录请求状态,比如200404
  • $body_bytes_sent:记录发送给客户端文件主体内容大小;
  • $bytes_sent :客户端发送的字节数
  • $connection # TCP连接的序列号
  • $connection_requests # TCP连接当前的请求数量
  • $limit_rate # 用于设置响应的速度限制,详见 limit_rate。
  • $tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd, $tcpinfo_rcv_space # 客户端TCP连接的具体信息
  • $nginx_version # nginx版本
  • $pid # 工作进程的PID
  • $pipe # 如果请求来自管道通信,值为“p”,否则为“.” (1.3.12, 1.2.7)
  • $uri 请求中的当前URI(不带请求参数,参数位于args),不同于浏览器传递的args),不同于浏览器传递的args),不同于浏览器传递的request_uri的值,它可以通过内部重定向,或者使用index指令进行修改。不包括协议和主机名,例如/foo/bar.html

request参数

  • $args 变量中存放了请求URL中的请求指令。比如
    http:/www.xxxx.com/index/index?argl=valuel&arg2=value2中的“argl=valuel&arg2=value2”
  • $query_string 与变量$args含义相同
  • $arg_PARAMETER GET请求中变量名PARAMETER参数的值。
  • $is_args # 如果请求中有参数,值为“?”,否则为空字符串。

$remote_xxx

  • $remote_addr :客户端的ip地址;
  • $remote_user :记录客户端用户的名称;
  • $remote_port 变量中存放了客户端与服务器建立连接的端口号

$server_xxx

  • $server_protocol变量中存放了客户端请求协议的版本,比如“HTTP1.0”、"HTTP/1.1”等
  • $server_addr 变量中存放了服务器的地址
  • $server_name 变量中存放了客户端请求到达的服务器的名称
  • $server_port :请求的端口,比如804438080

$upstream_xxx

  • $upstream_status:upstream状态
  • $upstream_addr :后台upstream的地址,即真正提供服务的主机地址
  • $upstream_response_time:请求过程中,upstream响应时间

$request_xxx

  • $request :请求的URL与HTTP协议,比如GET /index HTTP/1.0
  • $request_body :POST数据
  • $request_body_file变量中存放了发给后端服务器的本地文件资源的名称
  • $request_method 变量中存放了客户端的请求方式,如""GET”、“POST等
  • $request_filename 变量中存放了当前请求的资源文件的路径名
  • $request_uri 变量中存放了当前请求的URI,并且带请求指令
  • $request_length:客户端请求的长度
  • $request_time : 整个请求的总时间
  • $request_completion 如果请求成功,设为"OK";如果请求未完成或者不是一系列请求中最后一部分则设为空。

$content_xxx

  • $content_length 变量中存放了请求头中的Content-length字段
  • $content_type 变量中存放了请求头中的Content-type字段

$document_xxx

  • $document_root 变量中存放了针对当前请求的根路径
  • $realpath_root # 当前请求的文档根目录或别名的真实路径,会将所有符号连接转换为真实路径。
  • $document_uri ( 同 $uri)变量中存放了请求中的当前URI,并且不包括请求指令,比如 http://www.xxxx.com/index/index?argl-value1&arg2-value2中的“/index/index

$http_NAME:HTTP请求头中的内容

  • $http_NAME :匹配任意请求头字段,NAME可以替换成任意请求头字段。比如$http_accept_language获取http请求头Accept-Language
  • $http_host :请求的地址(IP或域名),如果http协议头包含host,则对应http协议头host,否则同$host
  • $http_referer:用来记录从哪个页面链接访问过来的,对应http协议头referer
  • $http_user_agent:记录客户端浏览器的相关信息,对应http协议头user-agent(规律:横线变成下划线了);
  • $http_x_forwarded_for : 对应http协议头x-forwarded-for,含义同$remote_addr,用于反向代理时告知应用客户端的实际IP;
  • $http_x_forwarded_proto : 对应http协议头x-forwarded-proto,含义同$scheme,用于反向代理时告知应用客户端的实际请求协议;
  • $http_cookie : 全部的cookie;

$sent_http_NAME:HTTP响应头中的内容

  • $sent_http_NAME :http响应头字段,NAME可以替换成任意响应头字段。如$sent_http_content_length获取响应头Content-length
  • $sent_http_cache_control
  • $sent_http_connection
  • $sent_http_content_type
  • $sent_http_keep_alive
  • $sent_http_last_modified
  • $sent_http_location
  • $sent_http_transfer_encoding

$cookie_NAME

  • $cookie_NAME :客户端请求Header头中的cookie变量,NAME可以替换成任意cookie名称。
  • $cookie_jsessionid获取cookie中的jsessionid

参考

http://nginx.org/en/docs/http/ngx_http_log_module.html#log_format
https://www.cnblogs.com/luoyan01/p/9734149.html
https://blog.csdn.net/zhf_sy/article/details/126807321

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
nginx全局变量配置详解如下: 在nginx的配置文件中,可以使用全局变量来实现一些配置的判断和处理。全局变量在整个nginx配置中都是可见的,可以在不同的上下文中使用。 在引用中的示例中,主要使用了两个全局变量:$host和$request_uri。$host表示当前请求的主机名,$request_uri表示当前请求的URI。通过这些全局变量的值,可以进行条件判断和重定向跳转等操作。 另外,在nginx的配置中,还可以使用其他一些全局变量,例如: - $remote_addr:客户端的IP地址 - $http_user_agent:客户端的User-Agent信息 - $http_referer:客户端的Referer信息 $args:查询参数部分 - $scheme:请求的协议(http或https) 除了使用这些内置的全局变量外,还可以通过自定义变量来扩展nginx的功能。可以使用set指令来定义变量,并在配置中使用。 在nginx的全局配置中,可以使用全局块、events块和http块来进行配置。全局块中的配置影响全局,包括运行nginx的用户组、进程存放、日志、配置文件等。events块用于配置nginx服务器与客户端的网络连接,包括进程最大连接数、数据驱动模型、序列化等。http块是最常用的配置块,用于配置代理、缓存、日志和第三方模块等。 在http块中,可以嵌套多个server块,每个server块表示一个虚拟主机的参数配置。而在server块中,可以使用location块来配置请求路由和页面处理。 综上所述,nginx全局变量配置详解如上所述,主要包括内置的全局变量和自定义变量的使用,以及全局块、events块和http块的配置结构。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Nginx 配置详解](https://blog.csdn.net/u011262253/article/details/120941175)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值