上一篇
F5负载均衡策略会话是什么意思?,怎么配置?
- 云服务器
- 2026-07-24
- 4
在F5负载均衡中,会话保持是确保用户体验和业务连续性的关键机制,当客户端与服务器建立连接后,后续的请求需要被分配到同一台后端服务器上处理,以避免会话状态丢失(如登录信息、购物车数据等),F5提供了多种会话保持策略,以适应不同的应用场景和协议需求。

F5会话保持策略概览
F5的会话保持策略主要分为简单保持和高级保持两大类,以下为常见策略的对比:

| 策略类型 | 保持依据 | 适用场景 | 优缺点 |
|---|---|---|---|
| 源地址保持 | 客户端IP地址 | 简单HTTP应用、无代理环境 | 优点:配置简单;缺点:受NAT影响大 |
| Cookie保持 | HTTP Cookie | Web应用、电商网站 | 优点:精准度高;缺点:仅限HTTP/HTTPS |
| 通用保持 | HTTP头、URL参数等 | 复杂Web应用、定制化需求 | 优点:灵活性极高;缺点:需了解应用层细节 |
| SSL会话ID保持 | SSL Session ID | HTTPS加密应用 | 优点:无需解密;缺点:部分客户端不支持 |
| 哈希保持 | URL/特定字段哈希 | 缓存服务器集群 | 优点:分布均匀;缺点:节点变动影响哈希 |
源地址保持
- 工作原理:F5通过记录客户端的源IP地址,将来自同一IP的所有请求都转发到同一台后端服务器。
- 适用场景:适用于没有经过代理服务器或NAT转换的网络环境。
- 注意事项:在大规模NAT环境下(如企业内网用户通过同一出口访问),可能导致负载不均。
Cookie保持
- 工作原理:F5在响应客户端的HTTP请求时,插入一个特定的Cookie,或者在原有Cookie上进行重写,后续请求中,F5通过读取该Cookie将流量定向到指定服务器。
- 主要模式:
- Insert模式:F5主动插入Cookie,后端服务器无感知。
- Rewrite模式:服务器生成Cookie,F5进行修改以包含服务器标识。
- Passive模式:服务器生成包含特定标识的Cookie,F5仅作解析。
- 适用场景:标准的Web应用,支持HTTP/HTTPS协议,是目前最常用的Web会话保持策略。
通用会话保持
- 工作原理:基于HTTP请求中的任意字段(如HTTP Header、URI参数、请求体内容)进行哈希或匹配,实现会话绑定。
- 适用场景:当客户端不支持Cookie或需要基于特定业务字段(如JSESSIONID、User-Agent等)进行保持时使用。
- 注意事项:配置相对复杂,需要深入了解应用层协议细节。
- 工作原理:在SSL/TLS握手阶段,客户端和服务器会协商一个Session ID,F5通过记录这个ID,将后续的SSL连接保持到同一台服务器。
- 适用场景:HTTPS加密流量,且后端服务器未配置SSL卸载的场景。
- 注意事项:部分浏览器或客户端在重连时可能会重新协商Session ID,导致保持失效。
- 超时时间设置:会话保持表项都有老化时间,对于Web应用,建议与后端服务器的Session超时时间保持一致,避免客户端仍在访问时,F5的会话表已老化。
- 持久化备份:在HA(高可用)集群中,建议开启会话保持状态的镜像同步,确保主备切换时不丢失会话。
- 负载不均排查:若发现某台服务器压力过大,需检查是否因NAT导致的源IP过于集中,或某类特定Cookie导致流量倾斜。
- 改用源地址保持:如果网络环境较好,没有大规模NAT,可以直接基于客户端源IP进行保持。
- 使用通用会话保持:如果应用在URL中传递了Session ID(http://example.com/page?jsessionid=xxx),可以配置通用会话保持,基于URL中的 jsessionid 参数进行会话绑定。
- 参考后端应用:老化时间应略大于后端服务器的Session超时时间,后端Tomcat的Session超时为30分钟,F5的老化时间可设置为35-40分钟,以确保应用未断开会话时,F5的保持表项依然存在。
- 考虑资源占用:如果老化时间设置过长(如24小时),会导致F5内存中积累大量无效的会话表项,消耗系统资源,影响并发处理能力。

SSL Session ID保持
配置与调优注意事项
相关问题与解答
问题1:当客户端禁用了Cookie时,F5应该如何实现Web应用的会话保持?
解答:当客户端禁用Cookie时,无法使用Cookie保持策略,此时可以考虑以下两种方案:
问题2:F5会话保持表项老化时间应如何科学配置?
解答:会话保持的老化时间不应随意配置,应遵循以下原则: