Nginx变量是配置和处理请求的核心工具,它们可以存储动态信息如客户端IP、请求头、URL参数等。以下是关键分类与用法:

1. 📌 变量类型

  • 局部变量:作用域限于当前配置块(如locationif
  • 全局变量:在整个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_variable_types

如需深入了解Nginx变量的高级用法,可参考官方文档获取更详细的配置示例与最佳实践。