网站首页 > 技术教程 正文
openresty中包含很多的内置变量,方便开发人员获取相关的参数值,这篇文章我们介绍一下openresty提供了哪些变量。
名称 | 说明 |
$arg_name | 请求中的name参数 |
$args | 请求中的参数 |
$binary_remote_addr | 远程地址的二进制表示 |
$body_bytes_sent | 已发送的消息体字节数 |
$content_length | HTTP请求信息里的"Content-Length" |
$content_type | 请求信息里的"Content-Type" |
$document_root | 针对当前请求的根路径设置值 |
$document_uri | 与$uri相同; 比如 /test2/test.php |
$host | 请求信息中的"Host",如果请求中没有Host行,则等于设置的服务器名 |
$hostname | 机器名使用 gethostname系统调用的值 |
$http_cookie | cookie 信息 |
$http_referer | 引用地址 |
$http_user_agent | 客户端代理信息 |
$http_via | 最后一个访问服务器的Ip地址。 |
$http_x_forwarded_for | 相当于网络访问路径 |
$is_args | 如果请求行带有参数,返回“?”,否则返回空字符串 |
$limit_rate | 对连接速率的限制 |
$nginx_version | 当前运行的nginx版本号 |
$pid | worker进程的PID |
$query_string | 与$args相同 |
$realpath_root | 按root指令或alias指令算出的当前请求的绝对路径。其中的符号链接都会解析成真是文件路径 |
$remote_addr | 客户端IP地址 |
$remote_port | 客户端端口号 |
$remote_user | 客户端用户名,认证用 |
$request | 用户请求 |
$request_body | 这个变量(0.7.58+)包含请求的主要信息。在使用proxy_pass或fastcgi_pass指令的location中比较有意义 |
$request_body_file | 客户端请求主体信息的临时文件名 |
$request_completion | 如果请求成功,设为"OK";如果请求未完成或者不是一系列请求中最后一部分则设为空 |
$request_filename | 当前请求的文件路径名,比如/opt/nginx/www/test.php |
$request_method | 请求的方法,比如"GET"、"POST"等 |
$request_uri | 请求的URI,带参数; 比如http://localhost:88/test1/ |
$scheme | 所用的协议,比如http或者是https |
$server_addr | 服务器地址,如果没有用listen指明服务器地址,使用这个变量将发起一次系统调用以取得地址(造成资源浪费) |
$server_name | 请求到达的服务器名 |
$server_port | 请求到达的服务器端口号 |
$server_protocol | 请求的协议版本,"HTTP/1.0"或"HTTP/1.1" |
$uri | 请求的URI,可能和最初的值有不同,比如经过重定向之类的 |
编辑nginx.conf配置文件,测试一些常用的变量
$uri变量
此变量是返回请求的uri地址
location /test_url {
echo "url:$uri";
}
重启nginx,访问
$args变量
参数的集合
location /test_url {
echo "url:$uri----args:$args";
}
$arg_name变量
指定哪个参数名,返回值
location /test_url {
echo "url:$uri----args:$args--------arg_name:$arg_name";
}
说明一下,$arg_name表示取名为name的参数,如果想取其他名称的参数可以对应的取该参数名
location /test_url {
echo "url:$uri --- args:$args --- arg_name:$arg_name <br/>";
echo "arg_user:$arg_user --- arg_age:$arg_age<br/>";
echo "arg_test:$arg_test";
}
test参数名不存在,则为空。
自定义变量
location /test_def {
set $name "rainbow";
echo $name;
}
set 设置的变量 为局部变量,其他请求无法获取此$name的值
location /test_def {
set $name "rainbow";
echo_exec /test_def2; ##内部跳转,可以传递变量
}
location /test_def2 {
echo $name;
}
其他的变量大家可以自行尝试。
猜你喜欢
- 2024-10-11 Nginx配置$request_uri与$uri变量的区别
- 2024-10-11 每日学点---nginx变量使用方法详解(5)
- 2024-10-11 「系统架构」Nginx调优之变量的使用(3)
- 2024-10-11 「系统架构」Nginx调优之变量的使用(2)
- 2024-10-11 「不要等到用的时候再来找我」总结Nginx中常见变量
- 2024-09-21 Nginx面试中最常见的18道题 抱佛脚必备
- 2024-09-21 Nginx 面试通关秘籍-14.如何在 Nginx 中获取当前时间?
- 2024-09-21 详解Nginx服务器屏蔽网络爬虫的方法---User-Agent过滤请求
- 2024-09-21 细述:nginx http内核模块提供的变量和解释
- 2024-09-21 Nginx学习笔记(13) nginx变量分类
你 发表评论:
欢迎- 最近发表
-
- Win10 TH2正式版官方ESD映像转换ISO镜像方法详解
- 使用iso镜像升级到Windows 10的步骤
- macOS Ventura 13.2 (22D49) Boot ISO 原版可引导镜像
- 安利一个用ISO镜像文件制作引导U盘的的小工具RUFUS
- CentOS 7使用ISO镜像配置本地yum源
- 用于x86平台的安卓9.0 ISO镜像发布下载:通吃I/A/N、完全免费
- AlmaLinux 9.6发布:升级工具、初步支持IBM Power虚拟化技术
- Rufus写入工具简洁介绍与教程(写入模式)
- 新硬件也能安装使用了,Edge版Linux Mint 21.3镜像发布
- 开源工程师:Ubuntu应该抛弃32位ISO镜像
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)