更新时间:2023-09-18
操作场景
当来源客户端均为同一个源IP的流量且应用是基于HTTP协议的,如教育网、企业网出口和CDN引流等,如果仍然使用源IP会话保持会使得该公司或学校的所有流量全部负载到同一个节点上导致负载不均衡。此时可以配置基于Cookie的会话保持方式,该方式匹配HTTP请求中的Cookie字段,通过不同Cookie区分不同客户端,可以将所有携带相同Cookie的HTTP流量转发到同一个节点上面,只适用于HTTP和做了SSL卸载的HTTPS应用。
配置说明
选择类型[Cookie],配置基于Cookie的会话保持方式,设备会根据Cookie作为匹配条件将相同Cookie的HTTP流量分配到同一个节点上,配置如下图所示:一般需要设置:[名称]、[类型]、[cookie名称]、[cookie作用域]等。
保持方式:配置Cookie会话保持的方式,可选择[插入]、[被动]和[改写]。当AD在收到服务端的应答时,若为插入方式则可以配置作用域,会在应答的HTTP协议头部添加Set-cookie字段创建会话保持,该字段的内容包括Cookie名称,Cookie作用域域名和路径,以及超时时间;若为被动方式,会通过分析应答的HTTP头部中Set-cookie字段找到对应的Cookie信息,将此Cookie和对应的节点信息记录下来,供下次调度使用,如果节点返回的Cookie不带任何过期时间时则按照设定的超时时间来记录;若选择改写方式,通过匹配应答的HTTP头部中Set-cookie字段的Cookie名称进行改写,插入节点信息,改写的格式为将“原来的Cookie值”改写为“SANGFOR_节点值_原来的Cookie值” ,并在请求时根据节点信息做会话保持,AD会在客户端后续的请求中的Cookie再改写去掉“SANGFOR_节点值_”为原来的Cookie给到服务器。
Cookie名称:配置Cookie字段中Key部分的名称,不能和其它cookie名称冲突(如服务器HTTP应答中的cookie名称,常用的path、domain等),如果使用插入方式会在第一个HTTP响应包里插入AD的cookie,cookie的值是配置节点池时新建节点的时候对节点预设的一个值,可在[节点池/节点列表]点击对应的节点查看Cookie值。如Cookie名称设置为sangfor,节点默认值为66666666,则插入的Cookie字段为Set-Cookie:sangfor=66666666;path=/(默认path为/),如果服务器返回的内容已含Cookie,客户端将会收到含有两个Set-Cookie头部的应答包并在请求时Cookie同时包含这两个Set-Cookie的内容。
Cookie作用域/域名:配置Cookie作用域的域名,默认为初次命中的域名,主要是用于如下场景:发布了某一个虚拟服务www.test.com采用Cookie会话保持,如果需要访问该页面上的链接news.test.com,则不会匹配到会话保持,会重新调度,则可能造成访问不到,此时需要设置域名test.com来保证子域名也匹配到会话保持;如果第一次是访问的test.com,不设置域名也可以保证当前域名以及子域名都能匹配到会话保持。
Cookie作用域/路径:主要是用于如下场景:客户有两台不同的HTTP服务器A和B,未部署AD的时候通过test.com/test1/1.php则可以调度到服务器A,通过test.com/test2/2.php则可以调度到服务器B,部署AD之后也需要实现该需求,此时需要使用路径来区分,使不同的路径调度到不同的服务器,如果不设置使用默认/根目录会导致两个页面调度到同一台服务器上。
其他基本参数可保持默认,如有特殊需要可按照需求进行设置,具体解释如下:
会话Cookie:配置启用或者禁用会话Cookie,启用后cookie生存时间为浏览器会话时间,禁用后需手动设置cookie的超时时间。
超时时间:配置一条会话记录允许存在的最长时限,最长为365天,会话保持超出该时间后会失效,如在该时间内有新的命中将会重置会话保持时效,单位支持秒、分钟、小时、天。
Cookie加密:对应答消息中的会话保持Cookie值做加密操作,Cookie插入/Cookie被动/Cookie改写三种方式均支持。
HttpOnly:配置是否在Cookie中启用HttpOnly属性,将Cookie设置成HttpOnly是为了防止XSS攻击,禁止web页面程序窃取cookie内容,增加cookie的安全性,但如果页面中已有这样的程序启用后会导致页面加载异常。
Secure:配置是否在Cookie中启用Secure属性,将Cookie设置为Secure是为了防止cookie在HTTP中传输被中间人窃取,禁止使用http传输cookie,增加cookie的安全性,但如果网站中有http和https混合的页面或内容,从https跳转到http时需要重新登录,影响正常访问。
繁忙保护:配置命中会话保持的连接是否受到节点繁忙保护的限制,启用后节点繁忙时会话保持将会失效,默认禁用。
记录范围:支持SourceIP/Cookie被动/HTTP被动/RADIUS类型的会话保持共享,可以选择[节点池]、[虚拟服务IP]、[全局共享],其中,各项解释如下:
• 节点池:同以前版本一样,会话保持只对节点池生效。
• 虚拟服务IP:相同虚拟服务IP的不同虚拟服务会话保持可以共享。
• 全局共享:所有全局会话保持生成的记录都是可以跨虚拟服务共享。(满足客户跨站点会话保持需求)
会话保持同步:双机或集群模式下,控制会话保持记录是否同步(cookie insert 方式无此选项)。