cookie value:为当前server指定cookie值,实现基于cookie的会话黏性,相对于基于 source 地址hash 调度算法对客户端的粒度更精准,但同时也加大了haproxy负载,目前此模式使用较少, 已经被session 共享服务器代替。
注意:不支持tcp mode,使用http mode
一、配置选项:
cookie name [ rewrite | insert | prefix ][ indirect ] [ nocache ][ postonly ] [ preserve ][ httponly ] [ secure ][ domain ]* [ maxidle ][ maxlife ]
- name:cookie 的 key名称,用于实现持久连接
- insert: 插入新的cookie,默认不插入cookie
- indirect: 如果客户端已经有cookie,则不会再发送cookie信息
- nocache: 当client和hapoxy之间有缓存服务器(如:CDN)时,不允许中间缓存器缓存cookie,因为这会导致很多经过同一个CDN的请求都发送到同一台后端服务器
二、配置实例
1、编辑haproxy.cfg配置文件
vim /etc/haproxy/haproxy.cfg
重启服务:
systemctl restart haproxy.service
2、后端配置
web服务使用的是nginx,确保服务开启。
RS1:
echo webserver1 172.25.254.10 > /usr/share/nginx/html/index.html
RS2:
echo webserver1 172.25.254.20 > /usr/share/nginx/html/index.html
3、测试结果
不同浏览器访问:
命令行验证:
curl访问时指定cookie: