Nginx变量是配置和处理请求的核心工具,它们可以存储动态信息如客户端IP、请求头、URL参数等。以下是关键分类与用法:
1. 📌 变量类型
- 局部变量:作用域限于当前配置块(如
location
、if
) - 全局变量:在整个Nginx实例中有效(如
$host
、$uri
) - 预定义变量:由Nginx自动提供(如
$request_method
、$http_user_agent
) - 自定义变量:通过
set
指令手动定义(如set $custom_var "example";
)
2. 📌 常见变量示例
变量名 | 描述 | 示例 |
---|---|---|
$arg_name |
URL参数name 的值 |
http://example.com/?name=value → $arg_name = "value" |
$http_header |
HTTP请求头字段 | $http_user_agent 获取用户代理 |
$request_uri |
完整请求URI | 包含路径和查询参数 |
$remote_addr |
客户端IP地址 | 用于访问控制 |
3. 📌 使用场景
- 日志记录:
log_format
中使用$time_iso8601
记录时间戳 - 重写规则:
rewrite
指令结合$args
处理查询参数 - 动态响应:通过
$uri
匹配不同路径返回内容
如需深入了解Nginx变量的高级用法,可参考官方文档获取更详细的配置示例与最佳实践。