nginx中文文档-ngx_http_userid_module

此页面版本:2016-06-08
ngx_http_userid_module模块为客户端身份证明设置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的过期时间设置为“31 Dec 2037 23:55:55 GMT”。参数off将设置cookie的有效期到浏览器会话结束。

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

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

内嵌变量
ngx_http_userid_module模块支持以下内嵌变量:

$uid_got
cookie名和收到的客户端标识。


$uid_reset
如果变量设置为不是“0”的非空字符串,客户端标识符会充值。特殊值“log”将重置的标识符信息输出到error_log中。


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