配置应用程序服务器、节点或单元以使用单个网络接口

在缺省情况下,应用程序服务器将配置为使用所有可供使用的网络接口。还可更改此配置,以使应用程序服务器仅使用特定网络接口。但是,不能将其配置为使用接口的子组。例如,如果有三个以太网适配器,那么不能将应用程序服务器配置为使用其中两个适配器。

关于此任务

当应用程序服务器配置为使用所有网络接口时,如果它在具有两个 TCP/IP 地址的机器的端口 9901 上打开套接字时,它将同时在两个 IP 地址上打开端口 9901。

[Windows]在 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 地址绑定到不同的网络适配器,而不是要重定向至的每个应用程序服务器上的 defaulthostdefaulthost_secure 端口的网络适配器。此修改会配置应用程序服务器,以便它仅接受通过指定的适配器来接收到的 http 和/或 https 流量。此外,在为该应用程序服务器生成插件时,Deployment Manager 还会将此主机名用作传输。只要以此方式修改 defaulthostdefaulthost_secure 端口,此修改就不存在已知限制。

避免故障 避免故障:
  • 如果想要特定应用程序服务器使用单个网络接口,那么对该应用程序服务器执行以下步骤。
  • 如果想要整个节点使用单个网络接口,那么对 Node Agent 和该节点中的所有应用程序服务器应用程序服务器执行以下步骤。
  • 如果想要整个单元使用单个网络接口,那么对 Deployment Manager、Node Agent 和节点中的所有应用程序服务器应用程序服务器执行以下步骤。
  • 完成以下步骤时,请勿为 TCP/IP 地址指定 localhost、环回地址(如 127.0.0.1)或 *(星号)。当您将 *(星号)用作分发和一致性服务 (DCS) 地址的主机名,并且还具有多个网络标识卡 (NIC) 时,DCS 端口可以绑定到多个 IP 地址。
  • [Windows]如果客户机 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 定制属性具有内部地址 localhost127.0.0.1,而服务器具有外部 IP 地址或主机名,例如 147.10.32.117
    • 或者,客户机具有外部地址,而服务器具有内部地址。
gotcha

过程

  1. 更新 com.ibm.CORBA.LocalHost 和 com.ibm.ws.orb.transport.useMultiHome 对象请求代理 (ORB) 定制属性。
    1. 在管理控制台中,浏览到指示的面板。
      • 对于应用程序服务器,单击服务器 > 服务器类型 > WebSphere 应用程序服务器 > server_name > 容器设置 > 容器服务 > ORB 服务。然后,在“其他属性”部分,单击定制属性
      • 对于 Deployment Manager,单击系统管理 > Deployment Manager。在“其他属性”部分,单击 ORB 属性。然后,在 ORB 服务面板上的“其他属性”下,单击定制属性
      • 对于 Node Agent,单击系统管理 > Node Agent > node_agent。在“其他属性”部分,单击 ORB 属性。然后,在 ORB 服务面板上的“其他属性”下,单击定制属性
    2. 选择 com.ibm.CORBA.LocalHost 定制属性并在“值”字段中指定 IP 地址或主机名。 不要将此属性设置为 localhost 或 *。

      如果 com.ibm.CORBA.LocalHost 属性不在已定义定制属性的列表中,请单击新建并在“名称”字段中输入 com.ibm.CORBA.LocalHost,在“值”字段中指定 IP 地址或主机名。

    3. 选择 com.ibm.ws.orb.transport.useMultiHome 定制属性并在“值”字段中指定 false 如果 com.ibm.ws.orb.transport.useMultiHome 属性不在已定义定制属性的列表中,请单击新建并在“名称”字段中输入 com.ibm.ws.orb.transport.useMultiHome,在“值”字段中指定 false
  2. [z/OS]更新 daemon_protocol_iiop_listenIPAddress WebSphere® 变量以指示位置服务守护程序预期绑定至的 IP 地址。
    1. 在管理控制台中,单击环境 > WebSphere 变量
    2. 选择 DAEMON_protocol_iiop_listenIPAddress 变量并指定 * 以指定“全部绑定”,或者在“值”字段中指定特定的 IP 地址。 如果 DAEMON_protocol_iiop_listenIPAddress 变量不在已定义变量的列表中,请单击新建,然后在“名称”字段中输入 DAEMON_protocol_iiop_listenIPAddress,并在“值”字段中指定相应的值。
  3. 更新用于发现和 SOAP 连接的 Java™ 虚拟机 (JVM) com.ibm.websphere.network.useMultiHome 定制属性。
    1. 在管理控制台中,浏览到指示的页面。
      [AIX Solaris HP-UX Linux Windows][IBM i]
      • 对于应用程序服务器,单击服务器 > 服务器类型 > WebSphere 应用程序服务器 > server_name > Java 进程管理 > 进程定义 > Java 虚拟机 > 定制属性
      • 对于 Deployment Manager,单击系统管理 > Deployment Manager > Java 进程管理 > 进程定义 > Java 虚拟机 > 定制属性
      • 对于 Node Agent,单击系统管理 > Node Agent > node_ agent > Java 进程管理 > 进程定义 > Java 虚拟机 > 定制属性
      [z/OS]
      • 对于应用程序服务器,单击服务器 > 服务器类型 > WebSphere 应用程序服务器 > server_name > Java 进程管理 > 进程定义 > process_type > Java 虚拟机 > 定制属性
      • 对于 Deployment Manager,单击系统管理 > Deployment Manager > Java 进程管理 > 进程定义 > process_type > Java 虚拟机 > 定制属性
      • 对于 Node Agent,单击系统管理 > Node Agent > node_ agent > Java 进程管理 > 进程定义 > 控制 > Java 虚拟机 > 定制属性
    2. 选择 com.ibm.websphere.network.useMultiHome 定制属性并在“值”字段中指定 false 如果 com.ibm.websphere.network.useMultiHome 属性未在已定义定制属性的列表中,请单击新建,然后在“名称”字段中输入 com.ibm.websphere.network.useMultiHome,并在“值”字段中指定 false
  4. 更新 TCP/IP 连接的主机名。
    1. 在管理控制台中,浏览到指示的页面。
      • 对于应用程序服务器,单击服务器 > 服务器类型 > WebSphere 应用程序服务器 > server_name,然后在“其他属性”部分,单击端口
      • 对于 Deployment Manager,单击系统管理 > Deployment Manager,然后在“其他属性”部分,单击端口
      • 对于 Node Agent,单击系统管理 > Node Agent > node_ agent,然后在“其他属性”部分,单击端口
    2. 将每个列示端口的“主机”字段更新为第一步中对 com.ibm.CORBA.LocalHost ORB 定制属性指定的值。 完成时,“主机”列中列示的任何条目都不应包含 *(星号)。
  5. 将每个 V5 JMS 服务器的初始状态设置更改为停止
    1. 在管理控制台中,单击服务器 > 服务器类型 > V5 JMS 服务器
    2. 单击其中一个列示的 JMS 服务器,并将对“初始状态”字段指定的值更改为停止
    3. 重复先前步骤直到所有列示的 JMS 服务器的初始状态设置为停止
  6. 保存更改。
    1. 在管理控制台中,单击系统管理 > 将更改保存到主存储库
    2. 选择“与节点同步更改”,然后单击保存
  7. 停止并重新启动所有受影响的服务器、Node Agent 和 Deployment Manager。

结果

您已将 WebSphere Application Server 的安装配置为在具有多个网络接口的机器上的一个(且只有一个)网络接口上通信。

示例

本示例在至少具有两个网络接口的机器上创建两个节点,每个节点使用单独的网络接口:

  1. 使用 Profile Management Tool 来创建应用程序服务器并将其联合至期望的单元。
  2. 使用 Profile Management Tool 来创建应用程序服务器概要文件,指定用于先前创建的应用程序服务器的主机名之外的主机名。将此应用程序服务器联合至期望的单元。
  3. 启动配置为使用第一个网络接口的 Node Agent 和应用程序服务器。遵循对应 Node Agent 和应用程序服务器的先前步骤,以准备此节点以便在配置此应用程序服务器时指定的网络接口上通信。
  4. 启动第二个 Node Agent 和应用程序服务器。遵循对应 Node Agent 和应用程序服务器的先前步骤,以准备此节点以便仅在配置第二个应用程序服务器时指定的网络接口上通信。
  5. 停止在本示例中创建的所有 Node Agent 和应用程序服务器。
  6. 重新启动所有这些 Node Agent 和应用程序服务器。

两个不同节点将在两个不同网络接口上运行。

下一步做什么

如果要使用独立 Java 客户机或服务器与 WebSphere Application Server 通信,并且要使用 WebSphere Application Server 软件开发包 (SDK),那么将下列属性添加至 Java 命令,以允许应用程序的 ORB 与特定网络接口通信。
-Dcom.ibm.ws.orb.transport.useMultiHome=false 
-Dcom.ibm.CORBA.LocalHost=host_name

host_name 是 ORB 要使用的网络接口的 TCP/IP 地址或主机名

避免故障 避免故障: 不要将 host_name 设置为 localhost、回送地址(如 127.0.0.1)或 *(星号)。gotcha

指示主题类型的图标 任务主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=trun_multiplenic
文件名:trun_multiplenic.html