安装和升级 > 高级部署注意事项 > 高级 Windchill 配置 > 配置 LDAP 故障转移 > LDAP 故障转移配置更改
  
LDAP 故障转移配置更改
为支持故障转移,需要进行多项 Windchill 配置更改。
这些更改的示例包括在用于描述更改的以下几个小节中。这些示例假设:您当前使用主机 server1.mycompany.com 上的目录服务器,其中,该主机正在监听端口 6389,且其已在三个“目录服务器”服务器之间按如下所示设置了同步复制:
server1,监听端口 6389
server2,监听端口 389
server3,监听端口 5389
* 
在后续文档中,为改善页面显示效果,已将命令断行。然而,命令和字段条目必须作为一行输入,不能换行。
Windchill 中的故障转移功能基于 Java JNDI 层中的故障转移功能。只要第一台服务器仍可用,则所有通信都会定向到该服务器。如果第一台服务器变为不可用,则 LDAP 请求会被定向到列表中的第二台服务器,依此类推。服务器应按照您所希望的使用顺序放置在列表中。例如,速度最快的 LDAP 服务器应该置于列表中靠前的位置上。
更新 JNDI 适配器条目和 Servlet baseUri
JNDI 适配器条目保存在 JSON 配置文件中,Windchill 将用其访问 LDAP 等服务。
要更新适配器,请使用“站点” > “实用程序”中的站点上下文中提供的 Info*Engine 管理实用程序。
启动 Info*Engine 管理实用程序后,您应该会看到前面所述的适配器以及其他适配器。打开要更改的每个适配器并更改“提供者 URL”值。应将单个 LDAP URL 更改为以空格分隔的 LDAP URL 列表,其中 URL 列表的顺序应该遵循您希望使用服务器的顺序。
根据上文所述的示例配置,假设“提供者 URL”的值最初设置为:
ldap://server1.mycompany.com:6389
“提供者 URL”的值更改为如下所示。根据您的配置进行适当编辑,并输入在一行中:
ldap://server1.mycompany.com:6389 ldap://server2.mycompany.com:389
ldap://server3.mycompany.com:5389
可以通过比较 Ldap 和 EnterpriseLdap 适配器的提供者 URL 来检测此实例。如果企业适配器具有指向企业目录的不同提供者 URL,则不应对其进行修改。
接下来,更新 servlet baseUri。在“Info*Engine 管理”主页的“服务”列中,打开以 servlet 结束的条目。展开“特性管理器的特性”,然后单击“编辑”以更改基础 URI。此值应已包含具有相应搜索库的 LDAP URL。只需附加以下字符串 (根据您的 LDAP 服务器进行适当编辑):
ldap://server2.mycompany.com ldap://server3.mycompany.com:5389
* 
所添加的字符串必须以空格开始;初始 LDAP URL 与附加的两个 URL 之间必须有一个空格。
单击“确定”应用更改。
更新 Windchill 特性
要更新 Windchill 特性,请使用 xconfmanager 实用程序来更新 <Windchill>/site.xconf 文件。PTC 建议您先备份 site.xconf 文件,然后再对其进行更改。
必须创建一组与 ie.ldap.serverHostName 和 ie.ldap.serverPort 特性相关的特性,以便为用于 LDAP 故障转移的每个目录服务器建立主机名和端口。假设从上一示例开始 ie.ldap.serverHostName 已设置为 server1.mycompany.com,且 ie.ldap.serverPort 已设置为 6389,则这两个特性无需进行更改。但是,可通过为这些特性名称附加 .1.2 等值来指定其他主机和端口。打开 Windchill shell,然后使用以下命令进行与前一示例相对应的更改。输入各个命令,一行一个:
xconfmanager -s "ie.ldap.serverHostName.1=server2.mycompany.com"
-t "codebase/WEB-INF/ieStructProperties.txt”
xconfmanager -s "ie.ldap.serverHostName.2=server3.mycompany.com"
-t "codebase/WEB-INF/ieStructProperties.txt"
xconfmanager -s "ie.ldap.serverPort.1=389"
-t "codebase/WEB-INF/ieStructProperties.txt"
xconfmanager -s "ie.ldap.serverPort.2=5389"
-t "codebase/WEB-INF/ieStructProperties.txt"
或者,由于目前使用 server2.mycompany.com 的默认 LDAP 端口 389,因此,可以省略 ie.ldap.serverPort.1 的特性定义。
此外,必须更改 wt.federation.ie.ldapServer 特性。例如,在一行中输入以下内容:
xconfmanager -s "wt.federation.ie.ldapServer=
ldap://server1.mycompany.com:6389 ldap://server2.mycompany.com
ldap://server3.mycompany.com:5389" -t "codebase/wt.properties"
最后,通过输入以下命令将您所做的更改应用到对应的特性文件:
xconfmanager -p
更新 Web 服务器配置
基于 Apache 的 Web 服务器允许您配置 LDAP URL 的故障转移列表。如果您使用的 Web 服务器不是基于 Apache 的 Web 服务器,请参阅对应的文档以确定其是否支持 LDAP 故障转移。如果支持故障转移,请确定其配置方式。
* 
基于 Apache 的 Web 服务器的 URL 列表与 LDAP 故障转移配置更改中所述的 JNDI 适配器 URL 列表的格式不同。Apache 支持一个包含以空格分隔的嵌入式主机和端口列表的 LDAP URL。
Windchill shell 中,导航至基于 Apache 的 Web 服务器安装目录 (如果使用捆绑的 HTTP Server,则安装目录为 HTTPServer)。然后输入类似于如下所示的 Ant 命令,以修改配置中的服务器名称和端口、搜索 base DN 以及 bindDN 和密码。输入各个命令,一行一个:
ant -f webAppConfig.xml addAuthProvider -DappName=Windchill
-DproviderName=AdministrativeLdap
-DldapUrl="ldap://server1.mycompany.com:6389 server2.mycompany.com:389
server3.mycompany.com:5389/ou=people,cn=AdministrativeLdap,
cn=Windchill_10.2,o=ptc" -DbindDn="cn=Manager" -DbindPwd=admin
ant -f webAppConfig.xml addAuthProvider -DappName=Windchill
-DproviderName=EnterpriseLdap -DldapUrl="ldap://server1.mycompany.com:6389
server2.mycompany.com:389 server3.mycompany.com:5389/ou=people,
cn=EnterpriseLdap,cn=Windchill_10.2,o=ptc" -DbindDn="cn=Manager" -DbindPwd=admin
有关其他 HTTP Server 配置选项的信息,请参阅配置 PTC HTTP Server 和 PTC Embedded Servlet Engine 其他选项