Nginx模块之SessionSticky

0 工作原理

Session Sticky 模块在upstream 返回响应后,向客户的浏览器写入 Cookie ,默认名为route ,保存的内容是一个 md5 码。

之后,模块接收到客户浏览器的请求时,就根据 route 来决定将请求转发到 upstream中哪台服务器上。

这是源码包中附带的流程图,将模块的处理流程描述的非常清晰:


1 下载 Session Sticky

wget https://nginx-sticky-module.googlecode.com/files/nginx-sticky-module-1.1.tar.gz


2 安装模块

如果 Nginx 之前已经安装了,可以通过 nginx -V 命令查看当时编译的参数。在参数后面追加安装 Session Sticky 模块的参数,

避免影响之前 Nginx 已有模块。

进入 nginx 源码目录,执行命令:

./configure …  --add-module=/usr/local/src/nginx-sticky-module-1.1

         make

         make install


3 激活模块

在 upstream块中添加 sticky; 即可激活Session Sticky模块。

upstream {

  sticky;

  server 127.0.0.1:9000;

  server 127.0.0.1:9001;

  server 127.0.0.1:9002;

}


4 可用选项

The "sticky" command can take several arguments to control its behaviour:

  sticky [name=route] [domain=.foo.bar] [path=/] [expires=1h] [hash=index|md5|sha1] [no_fallback];

Configuration

Description

Parameters

Default Value

name

the name of the cookie used to track the persistant upstream srv

can be any string

"route"

domain

the domain in which the cookie will be valid

can be any string

nothing. Let the browser handle this.

path

the path in which the cookie will      be valid

can be any path

nothing. Let the browser handle this.

expires

the validity duration of the cookie

must be a duration greater than one second

nothing. It's a session cookie

hash

the hash mechanism to encode upstream server. It cant' be used      with hmac

md5|sha1

md5

hmac

The HMAC hash mechanism to encode upstream server. It's like      the hash mechanism but it uses hmac_key to secure the hashing.      It can't be used with hash.

md5|sha1

none

hmac_key

The key to use with hmac. It's mandatory when hmac is set.

can be any string

none

no_fallback

When this flag is set, nginx will return a 502 (Bad Gateway orProxy Error) if a request comes      with a cookie and the corresponding backend is unavailable.

no arguments

none

来源:https://blog.csdn.net/dc_726/article/details/12348907

猜你喜欢

转载自blog.csdn.net/gb4215287/article/details/82422702
今日推荐