You need to enable JavaScript to run this app.
文档中心
负载均衡

负载均衡

复制全文
服务器组
配置基于 Cookie 的会话保持
复制全文
配置基于 Cookie 的会话保持

本文介绍如何在控制台配置基于 Cookie 的会话保持。
默认情况下,为了分散负载,ALB 会按照您配置的负载均衡算法将客户端请求转发到不同的后端服务器。 但在某些应用场景中,需要保持会话的一致性。为满足这一需求,ALB 提供基于 Cookie 的会话保持功能。在您开启该功能后,ALB 可以将来自同一个客户端的请求转发到同一台后端服务器上。该功能适用于需要在后端服务器上维持用户会话状态的业务场景,例如在电子商务网站中保存用户登录状态和购物车信息、在视频播放平台中记录播放进度、在金融服务平台中跟踪交易流程等。

背景信息

ALB 支持植入 Cookie 、重写 Cookie 两种会话保持模式。

  • 植入 Cookie:ALB 主动生成一个 Cookie 并在响应中植入该 Cookie。
    当客户端首次向 ALB 发送请求时,ALB 根据负载均衡算法选择一台后端服务器来处理该请求,并在返回给客户端的响应中植入 Cookie。当后续的客户端请求携带此 Cookie 时,ALB 会将请求转发给相应的后端服务器。选择该模式时,您需要设置会话保持超时时间。超过设置的时长后,ALB 将不再基于当前的 Cookie 进行会话保持,而是重新按照负载均衡算法选择一台后端服务器。
  • 重写 Cookie:ALB 获取后端服务器返回的 Cookie,并重写该 Cookie 的值。
    选择该模式时,您需要指定待重写的 Cookie 的名称。当 ALB 检测到后端服务器的响应中包含指定名称的 Cookie 时,会重写该 Cookie 的值,然后将重写后的 Cookie 返回给客户端。当后续的客户端请求携带重写后的 Cookie 时,ALB 会将请求转发给相应的后端服务器。

注意事项

  • 当您为服务器组开启“重写 Cookie”会话保持功能时:
    • 您需要在后端服务器上配置相应的 Cookie。由于在不同 Web 服务器上设置 Cookie 的方法各不相同,请参考相应服务器的官方文档进行配置。
    • 如果后端服务器响应中的 Cookie 与您指定的 Cookie 不匹配,ALB 不会改写 Cookie。下一次的客户端请求会按照您配置的负载均衡算法分配到后端服务器。
    • 会话保持超时时间与后端服务器在响应中通过 Set-Cookie 头部指定的 Cookie 过期时间一致。
  • 基于 Cookie 的会话保持功能的优先级高于负载均衡算法。在您为服务器组开启会话保持后,ALB 会将来自客户端的首次请求按照负载均衡算法转发到一台后端服务器。对于该客户端发送的后续请求,ALB 会忽略负载均衡算法、始终将请求转发给该台后端服务器。
  • 当携带 Cookie 的客户端请求到达 ALB 时,如果 ALB 无法成功解析该 Cookie,会将本次请求按照您配置的负载均衡算法转发到后端服务器。
  • 会话保持功能开启后,如果负责处理请求的后端服务器健康检查状态异常,ALB 会自动屏蔽该后端服务器。随后,ALB 将请求转发到一台健康的后端服务器并建立会话保持。

前提条件

  • 已创建一个服务器组。详细操作,请参见创建服务器组
  • 已创建至少一个 ECS 实例,并在 ECS 实例中部署了 Web 服务。
  • 已将 ECS 实例添加到服务器组中。

操作步骤

在创建服务器组时,您可直接开启会话保持功能,并选择会话保持模式。对于已创建的服务器组,开启会话保持功能的操作步骤如下:

  1. 登录应用型负载均衡控制台
  2. 在左侧导航栏,单击 服务器组,进入 服务器组 页面。
  3. 服务器组 页面,单击待配置会话保持的服务器组名称。
    Image
  4. 详情 页签,单击 编辑
  5. 编辑后端服务器组 页面,开启 会话保持,并设置会话保持模式。
    • 植入 Cookie:您需要设置会话保持超时时间。默认值是 1000 秒,取值范围为 1~86400 秒。
    • 重写 Cookie:您需要输入 Cookie 名称。Cookie 名称只能包含字母、 数字、下划线(_)和短横线(-)。长度不能超过 200 个字符。
  6. 确定配置无误后,单击 确定
最近更新时间:2025.07.04 15:57:23
这个页面对您有帮助吗?
有用
有用
无用
无用