Sun Java System Access Manager 7.1 发行说明

会话和 SSO 问题

负载平衡器终止 SSL 时,系统创建的服务主机名无效 (6245660)

如果 Access Manager 与 Web Server(作为 Web 容器)共同部署,并且负载平衡器终止了 SSL,则客户机将被导向至错误的 Web Server 页面。单击 Access Manager 控制台中的“会话”选项卡将返回一个错误,因为主机是无效的。

解决方法:在下例中,Web Server 将侦听 3030 端口。负载平衡器则侦听 80 端口并将请求重定向至 Web Server。

Web-server-instance-name/config/server.xml 文件中,编辑 servername 属性以指向负载平衡器,具体操作取决于正在使用的 Web Server 版本。

对于 Web Server 6.1 Service Pack (SP) 版本,按如下所示编辑 servername 属性:

<LS id="ls1" port="3030" servername="loadbalancer.example.com:80" 
defaultvs="https-sample" security="false" ip="any" blocking="false" 
acceptorthreads="1"/>

Web Server 6.1 SP2(或更高版本)可将 http 协议转换为 https 协议,或是将 https 转换为 http 协议。因此,按如下所示编辑 servername

<LS id="ls1" port="3030" 
servername="https://loadbalancer.example.com:443" defaultvs="https-sample" 
security="false" ip="any" blocking="false" acceptorthreads="1"/>

配合第三方 Web 容器使用 HttpSession

维持验证会话的默认方法是“内部会话”而非 HttpSession。默认无效会话最长时间为三分钟便已足够。amtune 脚本将 Web Server 或 Application Server 的默认无效会话最长时间设置为一分钟。但是,如果您正在使用第三方的 Web 容器(IBM WebSphere 或 BEA WebLogic Server)和可选的 HttpSession,则可能需要限制 Web 容器的最长 HttpSession 时间限制以避免出现性能问题。