cookie功能概述
cookie <value>:
为当前server指定cookie值,实现基于cookie的会话黏性
cookie语法格式:
cookie <name> [ rewrite | insert | prefix ] [ indirect ] [ nocache ] [ postonly ] [ preserve ] [ httponly ] [ secure ] [ domain <domain> ]* [ maxidle <idle> ] [ maxlife <life> ]
常用的参数如下所示:
<name>:
cookie名称,咱们自定义即可,用于实现持久连接
rewrite:
重写
insert:
插入
prefix:
前缀
nocache:
当client和hapoxy之间有缓存时,不缓存cookie
在后端配置基于cookie会话绑定
backend xxxx
#指定"roundrobin"动态调度算法
balance roundrobin
#定义cookie的名称为"HAPROXY-COOKIE",这个名称咱们可以自定义
cookie HAPROXY-COOKIE insert indirect nocache
#访问任何一个后端web服务器客户端均会得到一个cookie值(这个咱们也可以自定义),这样可以保证同一个客户端访问的后端web服务器是同一个(前提是客户不清楚浏览器的缓存)
server web01 172.30.1.106:80 cookie httpd-106 check inter 3000 fall 3 rise 5
server web02 172.30.1.107:80 cookie httpd-107 check inter 3000 fall 3 rise 5
测试:
1.linux主机
curl -b HAPROXY-COOKIE=httpd-106 vip
#-b指定cookie值,HAPROXY-COOKIE=httpd-106为键值对
2.windows主机
使用谷歌浏览器访问"http://vip"(同浏览器的页面同,不同浏览器未必)