配置应用程序服务器、节点或单元以使用单个网络接口
在缺省情况下,应用程序服务器将配置为使用所有可供使用的网络接口。还可更改此配置,以使应用程序服务器仅使用特定网络接口。但是,不能将其配置为使用接口的子组。例如,如果有三个以太网适配器,那么不能将应用程序服务器配置为使用其中两个适配器。
关于此任务
当应用程序服务器配置为使用所有网络接口时,如果它在具有两个 TCP/IP 地址的机器的端口 9901 上打开套接字时,它将同时在两个 IP 地址上打开端口 9901。
在 Microsoft Windows 操作系统上,netstat
输出在“本地地址”字段中显示 *.9901,以指示端口 9901 被绑定至系统中的所有网络接口。
当应用程序服务器配置为使用特定网络接口时,它仅在这一个网络接口上进行通信。例如,在 Windows 操作系统上,如果应用程序服务器在地址为 192.168.1.150 的以太网适配器的端口 7842 上打开套接字,那么 netstat 输出将在“本地地址”字段中显示 192.168.1.150.7842,指示端口 7842 仅绑定至 192.168.1.150。
如果有多个网络接口并且想要单独使用每个接口,那么必须对每个接口配置单独的配置概要文件。单独使用网络接口时,运行应用程序服务器的每个网络接口需要单独的 Node Agent。绑定至同一机器上两个不同网络接口的两个应用程序服务器不能在同一节点中,原因是它们具有不同的 TCP/IP 地址。
在多宿主环境中,您可能需要通过强制环境使用不同的网络适配器(而不是安装期间使用的主机名所绑定到的网络适配器),从而分离入站 http 和/或 https 流量。要完成此分离过程,可以指定将主机名或 IP 地址绑定到不同的网络适配器,而不是要重定向至的每个应用程序服务器上的 defaulthost 和 defaulthost_secure 端口的网络适配器。此修改会配置应用程序服务器,以便它仅接受通过指定的适配器来接收到的 http 和/或 https 流量。此外,在为该应用程序服务器生成插件时,Deployment Manager 还会将此主机名用作传输。只要以此方式修改 defaulthost 和 defaulthost_secure 端口,此修改就不存在已知限制。

- 如果想要特定应用程序服务器使用单个网络接口,那么对该应用程序服务器执行以下步骤。
- 如果想要整个节点使用单个网络接口,那么对 Node Agent 和该节点中的所有应用程序服务器应用程序服务器执行以下步骤。
- 如果想要整个单元使用单个网络接口,那么对 Deployment Manager、Node Agent 和节点中的所有应用程序服务器应用程序服务器执行以下步骤。
- 完成以下步骤时,请勿为 TCP/IP 地址指定 localhost、环回地址(如 127.0.0.1)或 *(星号)。当您将 *(星号)用作分发和一致性服务 (DCS) 地址的主机名,并且还具有多个网络标识卡 (NIC) 时,DCS 端口可以绑定到多个 IP 地址。
如果客户机 ORB 建立与服务器的 TCP 连接,那么可能存在两种情况:
- 本地套接字端已绑定到 serverindex.xml 文件中的 ORB_LISTENER_ADDRESS 属性上,或者 com.ibm.CORBA.LocalHost 定制属性上指定的单个地址。
- 本地套接字端未绑定到特定地址。
发生这两种情况的原因是 Micosoft Windows 网络堆栈未在不同的范围区域之间转发包。回送接口和公共接口位于不同的范围区域内。
如果您的客户机在 Microsoft Windows 7 或 Microsoft Windows 2008 R2 上运行,并且该客户机上的 com.ibm.ws.orb.transport.useMultiHome 定制属性设置为 false,那么第一个方案将失败并发生 SocketException,原因为下列其中一项:- serverindex.xml 文件中的客户机 ORB_LISTENER_ADDRESS 主机值或者 com.ibm.CORBA.LocalHost 定制属性具有内部地址 localhost 或 127.0.0.1,而服务器具有外部 IP 地址或主机名,例如 147.10.32.117。
- 或者,客户机具有外部地址,而服务器具有内部地址。
过程
结果
示例
本示例在至少具有两个网络接口的机器上创建两个节点,每个节点使用单独的网络接口:
- 使用 Profile Management Tool 来创建应用程序服务器并将其联合至期望的单元。
- 使用 Profile Management Tool 来创建应用程序服务器概要文件,指定用于先前创建的应用程序服务器的主机名之外的主机名。将此应用程序服务器联合至期望的单元。
- 启动配置为使用第一个网络接口的 Node Agent 和应用程序服务器。遵循对应 Node Agent 和应用程序服务器的先前步骤,以准备此节点以便在配置此应用程序服务器时指定的网络接口上通信。
- 启动第二个 Node Agent 和应用程序服务器。遵循对应 Node Agent 和应用程序服务器的先前步骤,以准备此节点以便仅在配置第二个应用程序服务器时指定的网络接口上通信。
- 停止在本示例中创建的所有 Node Agent 和应用程序服务器。
- 重新启动所有这些 Node Agent 和应用程序服务器。
两个不同节点将在两个不同网络接口上运行。
下一步做什么
-Dcom.ibm.ws.orb.transport.useMultiHome=false
-Dcom.ibm.CORBA.LocalHost=host_name
host_name 是 ORB 要使用的网络接口的 TCP/IP 地址或主机名。
