add_request_cookie

如果请求中尚不存在,则 `add_request_cookie` 指令会向请求添加一个新的 cookie。

语法add_request_cookie cookie_name value [if=condition];
默认值none
上下文http, server, location
参数2-3

说明

add_request_cookie 指令是 NGINX 对请求 cookie 进行精细控制的一部分,允许向请求头中添加 cookie。它接受两个或三个参数:cookie 名称、要赋予的值,以及一个可选的条件表达式,用于决定何时添加该 cookie。如果具有指定名称的 cookie 已经存在于请求头中,add_request_cookie 指令将忽略该操作并保持现有 cookie 不变。

此指令在希望确保特定 cookie 存在于请求中但仅在尚未设置时才添加的场景中非常有用。附加条件可用于基于其他请求变量或条件动态控制 cookie 的添加,从而实现更复杂的请求处理逻辑。该指令可在多个上下文中使用,包括 httpserverlocation,允许根据 NGINX 配置中不同部分如何管理请求 cookie 来灵活配置。

配置示例

http {
    server {
        listen 80;
        server_name example.com;

        location / {
            # Add a cookie named 'session_id' with a value of 'xyz123' if it does not already exist.
            add_request_cookie session_id xyz123;
        }
    }
}

该指令仅在同名 cookie 不存在时才添加;已存在的同名 cookie 将被忽略。

如果与条件逻辑一起使用,请确保条件已正确设置,以避免出现意外行为。

← 返回所有指令