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名和发送客户端的标识符。

nginx中文文档-ngx_http_upstream_conf_module

ngx_http_upstream_conf_module模块允许通过一个简单的HTTP接口不需要重启nginx配置上游服务器组。http或stream服务器组必须位于共享内存。

该模块是商业版本的一部分。
示例配置

upstream backend {
    zone upstream_backend 64k;

    ...
}

server {
    location /upstream_conf {
        upstream_conf;
        allow 127.0.0.1;
        deny all;
    }
}

upstream_conf

语法:upstream_conf
默认:—
上下文:location

在指定location中开启upstream的配置HTTP接口。访问这个location应该是受限的。
配置命令可以用于:

  • 查看组配置
  • 查看、修改、移除一个服务器
  • 添加一个服务器

由于组中的地址不需要唯一,指定组中的服务器通过它们的id引用。当添加一个新服务器或查看组配置时,id会自动分配和显示。
配置命令的参数由请求参数构成,例如
http://127.0.0.1/upstream_conf?upstream=backend
支持下面的参数:
stream=
选择一个stream upstream服务器组。没有这个参数,会选择一个http upstream服务器组。

upstream=name
选择工作的组,该参数是强制的。

id=number
选择一个查看、修改或移除的服务器。

remove=
从组中移除一个服务器。

add=
添加服务器到组。

backup=
需要添加的备份服务器。
在1.7.2版本之前,backup=需要查看、修改或移除存在的备份服务器。

server=address
同http或stream上游服务器的“address”参数
当添加一个服务器,可以指定为域名。这种情况下,改变响应域名的IP地址会被监控并自动的应用到upstream配置,不需要重启nginx(1.7.2+)。这需要“resolver”指令在http或stream块中。参见http或stream上游服务器的“resolver”参数。

service=name
同http或stream上游服务器的“service”参数(1.9.13+)

weight=number
同http或stream上游服务器的“weight”参数

max_conns=number
同http或stream上游服务器的“max_conns”参数

max_fails=number
同http或stream上游服务器的“max_fails”参数

fail_timeout=time
同http或stream上游服务器的“fail_timeout”参数

slow_start=time
同http或stream上游服务器的“slow_start”参数

down=
同http或stream上游服务器的“down”参数

drain=
让http上游服务器进入“draining”模式(1.7.5+)。这种模式下,只有上行服务器会被代理。

up=
与http或stream上游服务器的“down”参数相反

route=string
同http或stream上游服务器的“route”参数
前三个参数选择一个对象。可以是整个http或stream上游服务器组,也可以是一个指定的服务器。没有其他参数,选择的组合服务器配置会展示。
例如,查看完整的组配置,发送:
http://127.0.0.1/upstream_conf?upstream=backend

查看指定服务器的配置,同样指定id:
http://127.0.0.1/upstream_conf?upstream=backend&id=42

添加一个新服务器,通过“server=”参数指定地址。没有其他参数指定,服务器将会设置其他参数为默认值(见http或stream的“server”指令)
例如,添加一个主服务器,发送:
http://127.0.0.1/upstream_conf?add=&upstream=backend&server=127.0.0.1:8080

添加一个备份服务器,发送:
http://127.0.0.1/upstream_conf?add=&upstream=backend&backup=&server=127.0.0.1:8080

添加一个新的主服务器,设置参数无默认值并标记为down,发送:
http://127.0.0.1/upstream_conf?add=&upstream=backend&server=127.0.0.1:8080&weight=2&down=

移除一个指定id的服务器:
http://127.0.0.1/upstream_conf?remove=&upstream=backend&id=42

标记一个存在的服务为“down”,发送:
http://127.0.0.1/upstream_conf?upstream=backend&id=42&down=

改变一个存在的服务器的地址,发送:
http://127.0.0.1/upstream_conf?upstream=backend&id=42&server=192.0.2.3:8123

改变其他已存在的服务器参数,发送:
http://127.0.0.1/upstream_conf?upstream=backend&id=42&max_fails=3&weight=4

上面的例子是http上游服务器组的。简单的stream上游服务器组的例子需要“stream=”参数。