Sun Java System Access Manager 7 2005Q4 发行说明

记录基于 cookie 的粘性请求路由 (6476922)

将 Access Manager 服务器部署到负载平衡器后面后, 基于 cookie 的粘性请求路由可避免客户机请求被错误地路由到不正确的 Access Manager 服务器(即路由到没有托管该会话的服务器)。已在 Access Manager 7 2005Q4 修补程序 3 中实现此功能。

在以前的操作中,由于没有基于 cookie 的粘性请求路由,来自不基于任何浏览器的客户机(如使用远程 Access Manager 客户机 SDK 的策略代理和客户机)的请求经常被错误地路由到没有托管会话的 Access Manager 服务器。然后,为了将请求发送到正确的服务器,Access Manager 服务器必须使用后台频道通信来验证会话,这通常会导致某种程度的性能降级。基于 cookie 的粘性请求路由不必进行此类后台频道通信,因而提高了 Access Manager 的性能。

要实施基于 cookie 的粘性请求路由,必须将 Access Manager 部署配置为一个站点。有关信息,参见《Sun Java System Access Manager 7 2005Q4 Deployment Planning Guide》中的“Configuring an Access Manager Deployment as a Site”

要配置基于 cookie 的粘性请求路由:

  1. 要指定 cookie 名称,在 AMConfig.properties 文件中设置 com.iplanet.am.lbcookie.name 属性。然后,Access Manager 会使用两个字节的服务器 ID(例如 01、02 和 03)生成负载平衡器 cookie 值。如果未指定 cookie 名称,则 Access Manager 会使用默认名称 amlbcookie 加上两个字节的服务器 ID 来生成负载平衡器 cookie 值。

    如果在 Access Manager 服务器上设置 cookie 名称,则必须在策略代理的 AMAgent.properties 文件中使用相同的名称。同样,如果使用 Access Manager 客户机 SDK,也必须使用与 Access Manager 服务器使用的同一 cookie 名称。

    注意:请勿设置 com.iplanet.am.lbcookie.value 属性,因为 Access Manager 会使用两个字节的服务器 ID 来设置 cookie 值。

  2. 使用步骤 1 中得到的 cookie 名称来配置负载平衡器。可将硬件或软件负载平衡器与 Access Manager 部署一起使用。

  3. 如果实施了会话故障转移,则同时对策略代理和 Access Manager 服务器启用 com.sun.identity.session.resetLBCookie 属性。

    • 对于策略代理,在 AMAgent.properties 文件中添加并启用此属性。

    • 对于 Access Manager 服务器,在 AMConfig.properties 文件中添加并启用此属性。

    例如:

    com.sun.identity.session.resetLBCookie='true'

    如果发生故障转移,则将会话路由至备用 Access Manager 服务器,并使用备用 Access Manager 服务器的服务器 ID 来设置负载平衡器 cookie 值。然后该会话的任何后续请求都将路由至备用 Access Manager 服务器。