ngx_http_userid_module 模块

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 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

该指令出现在版本 1.19.3 中。

如果该参数未关闭,则为 cookie 定义一个或多个附加标志:secure、httponly、samesite=strict、samesite=lax、samesite=none。

userid_mark 指令

语 法:userid_mark letter | digit | = | off;
默认值:userid_mark off;
上下文:http, server, location

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

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

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 address of the server;
上下文:http, server, location

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

内嵌变量

ngx_http_userid_module 模块支持以下嵌入式变量:

$uid_got

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

$uid_reset

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

$uid_set

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

说说我的看法
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号