nginx变量

nginx 变量使用

ginx的变量可以在配置文件中引用,作为功能判断或者日志等场景使用,变量可以分为内置变量和自定义变量,内置变量是由nginx模块自带,通过变量可以获取到众多的与客户端访问相关的值

常见内置变量

$remote_addr;#存放了客户端的地址,注意是客户端的公网IP
$args;#变量中存放了URL中的指令
  http://www.test.net/main/index.do?id=090&partner=search
  以上:id=090&partner=search 即为 $args
$document_root;#保存了针对当前资源的请求的系统根目录,如/apps/nginx/html
$cookie_name; #表示key为 name 的cookie值nginx 变量使用
$document_uri;#保存了当前请求中不包含指令的URI,注意是不包含请求的指令,如http://www.test.net/main/index.do?id=090&partner=search会被定义为/main/index.do
$host;#存放了请求的host名称
$http_user_agent;#客户端浏览器的详细信息
$http_cookie;#客户端的cookie信息
$limit_rate;#如果nginx服务器使用limit_rate配置了显示网络速率,则会显示,
如果没有设置, 则显示0
$remote_port;#客户端请求Nginx服务器时客户端随机打开的端口
$remote_user;#已经经过Auth Basic Module验证的用户名
$request_body_file;#做反向代理时发给后端服务器的本地资源的名称
$request_method;#请求资源的方式,GET/PUT/DELETE等nginx 变量使用
$request_filename;#当前请求的资源文件的路径名称,由root或alias指令与URI请求生成的文件绝对路径,如/apps/nginx/html/main/index.html
$request_uri;#包含请求参数的原始URI,不包含主机名如:main/index.do?id=090&partner=search。
$scheme;#请求的协议,如ftp,https,http等
$server_protocol;#请求资源的协议版本,如HTTP/.0,HTTP/.,HTTP/.0等
$server_addr;#保存了服务器的IP地址
$server_name;#请求的服务器的主机名
$server_port;#请求的服务器的端口nginx 变量使用

自定义变量:

自定义变量名称和值,使用指令set $variable value
格式如下:
set $variable value;
支持:server, location, if
示例:
set $name test;
echo $name;
set $my_port $server_port;
echo $my_port;
echo "$server_name:$server_port";
原文地址:https://www.cnblogs.com/wxxjianchi/p/13583121.html