n8.Nginx 变量使用

nginx的变量可以在配置文件中引用,作为功能判断或者日志等场景使用

变量可以分为内置变量和自定义变量

内置变量是由nginx模块自带,通过变量可以获取到众多的与客户端访问相关的值。

1. 内置变量

$remote_addr; 					#存放了客户端的地址,注意是客户端的公网IP

$proxy_add_x_forwarded_for		#此变量表示将客户端IP追加请求报文中X-Forwarded-For首部字段,多个IP之间用逗号分隔,如果请求中没有X-Forwarded-For,就使用$remote_addr

$args; 							#变量中存放了URL中的所有参数,例如:http://www.magedu.org/main/index.do?id=20190221&partner=search		#返回结果为: id=20190221&partner=search

$is_args						#如果有参数为? 否则为空“?” if a request line has arguments, or an empty string otherwise
$document_root; 				#保存了针对当前资源的请求的系统根目录,例如:/apps/nginx/html。
$document_uri;					#保存了当前请求中不包含参数的URI,注意是不包含请求的指令,比如:http://www.magedu.org/main/index.do?id=20190221&partner=search会被定义为/main/index.do 
								#返回结果为:/main/index.do
								
$host; 							#存放了请求的host名称
$limit_rate;					#如果nginx服务器使用limit_rate配置了显示网络速率,则会显示,如果没有设置, 则显示0
$remote_port;					#客户端请求Nginx服务器时随机打开的端口,这是每个客户端自己的端口
$remote_user;					#已经经过Auth Basic Module验证的用户名
$request_body_file;				#做反向代理时发给后端服务器的本地资源的名称
$request_method;				#请求资源的方式,GET/PUT/DELETE等
$request_filename;				#当前请求的资源文件的磁盘路径,由root或alias指令与URI请求生成的文件绝对路径,如:/apps/nginx/html/main/index.html
$request_uri;					#包含请求参数的原始URI,不包含主机名,相当于:$document_uri?$args,例如:/main/index.do?id=20190221&partner=search 
$scheme;						#请求的协议,例如:http,https,ftp等
$server_protocol;				#保存了客户端请求资源使用的协议的版本,例如:HTTP/1.0,HTTP/1.1,HTTP/2.0等
$server_addr;					#保存了服务器的IP地址
$server_name;					#请求的服务器的主机名
$server_port;					#请求的服务器的端口号
$http_user_agent;				#客户端浏览器的详细信息
$http_cookie;					#客户端的所有cookie信息
$cookie_<name>					#name为任意请求报文首部字部cookie的key名
$http_<name>					#name为任意请求报文首部字段,表示记录请求报文的首部字段,ame的对应的首部字段名需要为小写,如果有横线需要替换为下划线
#示例: 
echo $http_user_agent; 
echo $http_host;

$sent_http_<name>				#name为响应报文的首部字段,name的对应的首部字段名需要为小写,如果有横线需要替换为下划线,此变量有问题
echo $sent_http_server;

$arg_<name>						#此变量存放了URL中的指定参数,name为请求url中指定的参数
echo $arg_id;

2. 自定义变量

假如需要自定义变量名称和值,使用指令set $variable value;

set $variable value;
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值