HaProxy代理cookie

来源:互联网 发布:无约束优化问题 编辑:程序博客网 时间:2024/06/04 18:02

haproxy可以使用多种方式做到会话保持。

source的方式将同一个源IP的请求转发给同一个backend server,可以作用于tcp和http。但是当某个源IP的请求量较大,或者用户请求经过NAT后到达,会导致backend server的负载严重不均衡。不采用。

url_param的方式,需要业务在url中带有sessionid,适用于http。不采用。

stick-tables的方式,设置复杂,且需要维护记录表。不采用。

cookie的方式本身也有多种策略,例如insert,prefix,rewrite等,适用于http。

经过对比,决定采用以下方式:

cookie cookie.example.com insert indirect postonly

只有遇到post请求的时候,haproxy在响应中设置一个名为
cookie.example.com的cookie,后续带有该cookie的请求到达
haproxy时,haproxy将该cookie去除后,转发给cookie指定的backen server。