用户ID#

该模块设置适用于客户端识别的 Cookie。接收到的和设置的 Cookie 可以使用内置变量 $uid_got$uid_set 进行记录。此模块兼容 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#

语法

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#

语法

userid_domain name | none;

默认

userid_domain none;

上下文

http, server, location

定义设置 Cookie 的域。参数 none 禁用为 Cookie 设置域。

userid_expires#

语法

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#

语法

userid_flags off | flag ...;

默认

userid_flags off;

上下文

http, server, location

如果参数不是 off,则为 Cookie 定义一个或多个附加标志:securehttponlysamesite=strictsamesite=laxsamesite=none

userid_mark#

语法

userid_mark letter | digit | = | off;

默认

userid_mark off;

上下文

http, server, location

如果参数不是 off,启用 Cookie 标记机制并设置用作标记的字符。此机制用于在保留客户端标识符的同时添加或更改 userid_p3p 和/或 Cookie 过期时间。标记可以是英文字母(区分大小写)、数字或 "=" 字符。

如果设置了标记,它将与 Cookie 中传递的客户端标识符的 base64 表示中的第一个填充符号进行比较。如果不匹配,Cookie 将使用指定的标记、过期时间和 "P3P" 头重新发送。

userid_name#

语法

userid_name name;

默认

userid_name uid;

上下文

http, server, location

设置 Cookie 名称。

userid_p3p#

语法

userid_p3p string | none;

默认

userid_p3p none;

上下文

http, server, location

为将随 Cookie 一起发送的 "P3P" 头字段设置一个值。如果指令设置为特殊值 none,则 "P3P" 头不会在响应中发送。

userid_path#

语法

userid_path path;

默认

userid_path /;

上下文

http, server, location

定义设置 Cookie 的路径。

userid_service#

语法

userid_service number;

默认

userid_service 服务器的 IP 地址;

上下文

http, server, location

如果标识符由多个服务器(服务)颁发,则每个服务应分配自己的 number 以确保客户端标识符唯一。对于版本 1 的 Cookie,默认值为零。对于版本 2 的 Cookie,默认值是由服务器 IP 地址的最后四个八位字节组成的数字。

内置变量#

$uid_got#

Cookie 名称和接收到的客户端标识符。

$uid_reset#

如果变量设置为非空字符串且不为 0,则客户端标识符将被重置。特殊值 log 还会导致有关重置标识符的消息输出到 error_log

$uid_set#

Cookie 名称和发送的客户端标识符。