NGINX变量

变量是配置的核心组成部分,它们可以动态获取请求、响应、服务器状态等信息,并用于条件判断、日志记录、请求转发等场景

常用变量

自定义变量

# set 指令
location / {
    set $my_var "hello";
    add_header X-My-Var $my_var;  # 返回响应头 X-My-Var: hello
}

# map模块
# map string $variable {
#     default value;
#     pattern1 value1;
#     pattern2 value2;
# }

# string:源变量,如 $http_user_agent、$uri 等
# $variable:目标变量,由 map 模块生成
# default:默认值,当没有匹配到任何规则时使用
# pattern:匹配模式,可以是字符串、正则表达式或特殊值
map $http_host $backend {
    default backend_prod;
    example.com backend1;
    api.example.com backend2;
}