您可以将 DMZ Secure Proxy Server for IBM® WebSphere® Application Server 配置为以静态或动态方式路由请求。
开始之前
配置路由之前,配置概要文件和安全性属性。请参阅主题“调整
DMZ Secure Proxy Server for IBM WebSphere Application Server的安全性属性。
决定是否要配置静态或动态路由。
关于此任务
静态路由是使用平面配置文件执行的。静态路由被视为比动态路由更安全。
使用动态路由,通过最匹配的机制(该机制确定对应于特定请求的已安装应用程序或路由规则)来路由请求。安全代理服务器动态发现至目标的最佳路由,并使用喜爱的协议分发至服务器。
安全路由的选项为:
- 将静态路由与 exportTargetTree 命令配合使用。
- 通过设置核心组网桥隧道来使用静态路由。请参阅主题“配置与位于DMZ Secure Proxy Server上的核心组的通信”。
避免故障: 因为 DMZ 安全代理服务器与应用程序服务器位于不同的单元中,所以它必须配置为信任应用程序服务器单元,这样安全套接字层 (SSL) 才能够正常工作。
请参阅此过程的第三步。
gotcha
使用以下过程来配置静态或动态安全路由。
过程
- 要配置静态路由,请遵循这些步骤:
避免故障: 使用 wsadmin 工具查询并导出 TargetTree.XML 文件时,代理配置中涉及的服务器必须处于活动状态。
gotcha
- 将安全代理服务器设置为使用静态路由(在安装之后是缺省级别)。可将整体安全级别设置为高,或将路由属性的定制安全级别设置为静态。
- 使用 wsadmin 工具查询 TargetTreeMbean mbean。
mbean=AdminControl.queryNames('*:*,type=TargetTreeMbean,process=dmgr')
- 如果应用程序使用 Servlet 3.0 动态 cookie,请启动使用动态 cookie 的应用程序。
- 对指定 XML 文件调用 TargetTree mbean 上的 exportTargetTree 方法。
AdminControl.invoke(mbean, 'exportTargetTree', '/opt/IBM/WebSphere/AppServer/targetTree.xml')
静态路由文件是一种特殊类型的路由文件,代理服务器使用该文件将请求从代理服务器直接路由至应用程序服务器。它未用于将请求从 Web 服务器插件路由至应用程序服务器。
- 使用 Deployment Manager 命令行将 targetTree.xml 文件从 Deployment Manager 传输至代理服务器的 profile_root/staticRoutes 目录。
此文件是通过 FTP 或一些其他协议从 Deployment Manager 传输至代理服务器的。
如果安全代理服务器正在与多个单元进行交互,那么您可以将每个单元的静态路由文件添加到 profile_home/staticRoutes 目录。安全代理服务器将
profile_root/staticRoutes 目录中包含的所有 xxx.xml
文件视为静态静态路由文件。该文件不必命名为 targetTree.xml。
将多个 xxx.xml 文件添加到安全代理服务器的 profile_root/staticRoutes 目录时,安全代理服务器将合并所有这些文件的内容。
此合并的结果是形成一个静态路由文件,安全代理服务器可以使用该文件将请求路由至任何单元中的服务器。
避免故障: 合并过程不包括
profile_root/staticRoutes 目录的子目录中的任何文件。因此,安全代理服务器在将请求路由至服务器时不使用任何子目录中的文件所包含的任何内容。
gotcha
影响静态路由文件内容的属性更改(例如,虚拟主机更改、代理服务器集群成员的添加或删除、代理服务器集群成员的权重更改,或者应用程序的安装或卸载)会导致系统自动重新生成静态路由文件。
- 从系统命令行启动代理服务器:
profile_root/startServer proxy_server_name
- 要配置动态路由,请遵循这些步骤:
- 配置应用程序服务器单元中的核心组网桥。请参阅主题“配置与位于DMZ Secure Proxy Server上的核心组的通信”。
- 将隧道模板设置导出至文件。从 wsadmin 工具,使用 exportTunnelTemplate 命令来导出这些设置,如以下示例所示:
AdminTask.exportTunnelTemplate('[-tunnelTemplateName exportedTunnelTemplate
-outputFileName tunnelTemplate1.props]')
- 将隧道模板设置导入 DMZ 代理配置,如以下示例所示:
AdminTask.importTunnelTemplate('[-inputFileName tunnelTemplate1.props
-bridgeInterfaceNodeName DMZNode01 -bridge InterfaceServerName DMZProxyServer01]')
- 从系统命令行启动代理服务器:
profile_root/startServer proxy_server_name
- 要配置 SSL 通信,请遵循这些步骤:
- 使用 retrieveSigners 命令配置 ssl.client.props 属性文件。请参阅有关使用 retrieveSigners 命令的产品文档主题以了解更多详细信息。
- 应将 com.ibm.ssl.trustStore 属性设置为指向安全代理服务器 trust.p12 文件。例如:
${user.root}/config/cells/SecureProxyCell1/nodes/SecureProxyNode1/trust.p12
- 指定运行此命令时应用程序服务器所位于的单元的信任库名称。缺省情况下,它的名称为 CellDefaultTrustStore。然后,可以使用 retrieveSigners 命令来更新安全代理服务器以信任应用程序服务器单元:
retrieveSigners CellDefaultTrustStore AnotherTrustStore -host mybackendDmgr.location.com -port 8879