ngx_http_userid_module 模块设置适合客户端识别的 cookie。可以使用嵌入式变量 $uid_got 和 $uid_set 记录接收和设置的 cookie。该模块与 Apache 的 mod_uid 模块兼容。
userid on; userid_name uid; userid_domain example.com; userid_path /; userid_expires 365d; userid_p3p 'policyref="/w3c/p3p.xml", CP="CUR ADM OUR NOR STA NID"';
语 法:userid on | v1 | log | off; 默认值:userid off; 上下文:http, server, location
启用或禁用设置 cookie 并记录收到的 cookie:
on 启用版本 2 cookie 的设置和接收到的 cookie 的记录;
v1 启用版本 1 cookie 的设置和接收到的 cookie 的记录;
log 禁用 cookie 的设置,但启用接收到的 cookie 的记录;
off 禁用 cookie 的设置和接收到的 cookie 的记录;
语 法:userid_domain name | none; 默认值:userid_domain none; 上下文:http, server, location
定义为其设置 cookie 的域,none 参数禁用 cookie 的域设置。
语 法:userid_expires time | max | off; 默认值:userid_expires off; 上下文:http, server, location
设置浏览器应保留 cookie 的时间。参数 max 将导致 cookie 在 “2037 年 12 月 31 日 23:55:55 GMT” 到期。参数 off 将导致 cookie 在浏览器会话结束时过期。
语 法:userid_flags off | flag ...; 默认值:userid_flags off; 上下文:http, server, location
该指令出现在版本 1.19.3 中。
如果该参数未关闭,则为 cookie 定义一个或多个附加标志:secure、httponly、samesite=strict、samesite=lax、samesite=none。
语 法:userid_mark letter | digit | = | off; 默认值:userid_mark off; 上下文:http, server, location
如果该参数不关闭,则启用 cookie 标记机制并设置用作标记的字符。此机制用于添加或更改 userid_p3p 和/或 cookie 过期时间,同时保留客户端标识符。标记可以是英文字母(区分大小写)、数字或 “=” 字符中的任何字母。
如果设置了标记,则将其与在 cookie 中传递的客户端标识符的 base64 表示中的第一个填充符号进行比较。如果它们不匹配,则使用指定的标记、到期时间和 “P3P” 标头重新发送 cookie。
语 法:userid_name name; 默认值:userid_name uid; 上下文:http, server, location
设置 cookie 名称。
语 法:userid_p3p string | none; 默认值:userid_p3p none; 上下文:http, server, location
设置将与 cookie 一起发送的 “P3P” 标头字段的值。如果指令设置为特殊值 none,则不会在响应中发送 “P3P” 标头。
语 法:userid_path path; 默认值:userid_path /; 上下文:http, server, location
定义为其设置 cookie 的路径。
语 法:userid_service number; 默认值:userid_service IP address of the server; 上下文:http, server, location
如果标识符由多个服务器(服务)发布,则应为每个服务分配自己的编号,以确保客户端标识符是唯一的。对于版本 1 cookie,默认值为零。对于版本 2 cookie,默认值是由服务器 IP 地址的最后四个八位字节组成的数字。
ngx_http_userid_module 模块支持以下嵌入式变量:
cookie 名称和接收到的客户端标识符。
如果变量设置为非 “0” 的非空字符串,则重置客户端标识符。特殊值 “log” 还导致将有关重置标识符的消息输出到 error_log。
cookie 名称和发送的客户端标识符。