第 4 章 网络和端口配置
4.1. interfaces
JBoss EAP 在整个配置中引用了命名接口。这允许配置引用带有逻辑名称的独立接口声明,而不必要求每次使用的接口的完整详情。
这也便于在受管域中配置,其中网络接口详细信息可能因多台计算机而异。每个服务器实例可以对应一个逻辑名称组。
standalone.xml
、domain.xml
和 host.xml
文件都包含接口声明。根据使用的默认配置,有几个预配置的接口名称。管理接口可用于需要管理层
的所有组件和服务,包括 HTTP 管理端点。公共
接口可用于所有应用相关的网络通信。无安全
接口用于标准配置中的 IIOP 套接字。专用
接口用于标准配置中的 JGroups 套接字。
4.1.1. 默认接口配置
<interfaces> <interface name="management"> <inet-address value="${jboss.bind.address.management:127.0.0.1}"/> </interface> <interface name="public"> <inet-address value="${jboss.bind.address:127.0.0.1}"/> </interface> <interface name="private"> <inet-address value="${jboss.bind.address.private:127.0.0.1}"/> </interface> <interface name="unsecure"> <inet-address value="${jboss.bind.address.unsecure:127.0.0.1}"/> </interface> </interfaces>
默认情况下,JBoss EAP 将这些接口绑定到 127.0.0.1
,但可以通过设置适当的 属性在运行时覆盖这些值。例如,通过以下命令将 JBoss EAP 启动为单机服务器时可以设置 公共
接口的 inet-address
:
$ EAP_HOME/bin/standalone.sh -Djboss.bind.address=IP_ADDRESS
或者,您也可以在 server start 命令行上使用 -b
参数。有关服务器启动选项的更多信息,请参阅服务器运行时参数。
如果您修改了 JBoss EAP 使用的默认网络接口或端口,您还必须记得更改使用修改后的接口或端口的任何脚本。其中包括 JBoss EAP 服务脚本,以及记得在访问管理控制台或管理控制台或 CLI 时指定正确的接口和端口。
4.1.2. 配置接口
通过为物理接口指定逻辑名称和选择条件来声明网络接口。选择条件可以引用通配符地址,或者指定接口或地址必须具有的一个或多个特征集,才能成为有效的匹配项。有关所有可用接口选择条件的列表,请参阅 Interface Attributes 部分。
接口可以使用管理控制台或管理 CLI 进行配置。以下是添加和更新接口的几个示例。首先显示管理 CLI 命令,后跟对应的配置 XML。
使用 NIC 值添加接口
添加一个 NIC 值为 eth0
的新接口。
/interface=external:add(nic=eth0)
<interface name="external"> <nic name="eth0"/> </interface>
使用 Several Conditional 值添加接口
添加一个与正确子网上任何接口/地址匹配的新接口(如果已启动,支持多播),且不是点对点的新接口。
/interface=default:add(subnet-match=192.168.0.0/16,up=true,multicast=true,not={point-to-point=true})
<interface name="default"> <subnet-match value="192.168.0.0/16"/> <up/> <multicast/> <not> <point-to-point/> </not> </interface>
更新接口属性
更新 公共
接口的默认 inet-address
值,保留 jboss.bind.address
属性,以允许在运行时设置此值。
/interface=public:write-attribute(name=inet-address,value="${jboss.bind.address:192.168.0.0}")
<interface name="public"> <inet-address value="${jboss.bind.address:192.168.0.0}"/> </interface>
向受管域中的服务器添加接口
/host=HOST_NAME/server-config=SERVER_NAME/interface=INTERFACE_NAME:add(inet-address=127.0.0.1)
<servers> <server name="SERVER_NAME" group="main-server-group"> <interfaces> <interface name="INTERFACE_NAME"> <inet-address value="127.0.0.1"/> </interface> </interfaces> </server> </servers>