模块 ngx_http_userid_module
示例配置 指令 userid userid_domain userid_expires userid_flags userid_mark userid_name userid_p3p userid_path userid_service 嵌入变量 |
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 |
---|---|
默认值 |
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 none; |
上下文 |
http 、server 、location |
定义设置 Cookie 的域名。none
参数禁用为 Cookie 设置域名。
语法 |
userid_expires |
---|---|
默认值 |
userid_expires off; |
上下文 |
http 、server 、location |
设置浏览器应保留 Cookie 的时间。参数 max
将导致 Cookie 在“31 Dec 2037 23:55:55 GMT
”过期。参数 off
将导致 Cookie 在浏览器会话结束时过期。
语法 |
userid_flags |
---|---|
默认值 |
userid_flags off; |
上下文 |
http 、server 、location |
此指令出现在 1.19.3 版本中。
如果参数不是 off
,则为 Cookie 定义一个或多个附加标志:secure
、httponly
、samesite=strict
、samesite=lax
、samesite=none
。
语法 |
userid_mark |
---|---|
默认值 |
userid_mark off; |
上下文 |
http 、server 、location |
如果参数不是 off
,则启用 Cookie 标记机制并设置用作标记的字符。此机制用于添加或更改 userid_p3p 和/或 Cookie 过期时间,同时保留客户端标识符。标记可以是任何英文字母(区分大小写)、数字或“=
”字符。
如果设置了标记,则将其与 Cookie 中传递的客户端标识符的 base64 表示形式中的第一个填充符号进行比较。如果它们不匹配,则使用指定的标记、过期时间和“P3P”标头重新发送 Cookie。
语法 |
userid_name |
---|---|
默认值 |
userid_name uid; |
上下文 |
http 、server 、location |
设置 Cookie 名称。
语法 |
userid_p3p |
---|---|
默认值 |
userid_p3p none; |
上下文 |
http 、server 、location |
设置将与 Cookie 一起发送的“P3P”标头字段的值。如果指令设置为特殊值 none
,则响应中不会发送“P3P”标头。
语法 |
userid_path |
---|---|
默认值 |
userid_path /; |
上下文 |
http 、server 、location |
定义设置 Cookie 的路径。
语法 |
userid_service |
---|---|
默认值 |
userid_service IP address of the server; |
上下文 |
http 、server 、location |
如果标识符由多个服务器(服务)发出,则应为每个服务分配其自己的number
以确保客户端标识符唯一。对于版本 1 Cookie,默认值为零。对于版本 2 Cookie,默认值为由服务器 IP 地址的最后四个八位字节组成的数字。
嵌入变量
ngx_http_userid_module
模块支持以下嵌入变量
$uid_got
- Cookie 名称和接收到的客户端标识符。
$uid_reset
- 如果变量设置为非空字符串且不是“
0
”,则重置客户端标识符。特殊值“log
”还会导致将有关重置标识符的消息输出到 error_log。 $uid_set
- Cookie 名称和发送的客户端标识符。