【发布时间】:2011-05-29 20:27:23
【问题描述】:
我的问题是:有一个配置了 2 个 NIC 的 RHEL 默认服务器:
- eth0 与 IP 10.100.0.1
- eth1 与 IP 10.100.100.1
另外,Red Hat 上安装了 jboss-6.0.0.20101110-CR1,在这个 JBoss 上部署了一个 EAR,这是一个简单的 servlet 监听传入的数据,经过一些处理,应用程序将处理后的数据转发到另一个 web另一个主机上的服务(例如 10.200.0.1),使用 Apache CXF 框架(这样的代理具有一些处理)。
现在,配置问题。
当JBoss需要监听eth0上传入的数据,IP10.100.0.1,需要run.sh加上“-b”开关:run.sh -b 10.100.0.1,很简单干净。
但我想扩展我的问题:我想强制 JBoss 以 10.100.100.1 作为网络流量的源 IP 调用其他主机上的 Web 服务。怎么做?是否有任何开关/属性/任何东西,可以完成这项工作?
总结:
JBoss 绑定到 eth0 以监听 10.100.0.1 上的传入数据并在 10.200.0.1 上调用源 IP 10.100.100.1 的 web 服务.
请帮助我,任何想法都非常感谢。我想避免任何 iptables/xinted 重定向配置:-)
问候,
马吕斯
PS。我在我的公司发现了另一个类似的问题(但与原生 JBoss WS 相关......):我们的一个软件提供商修改了 JBoss5 的 jbossws-native-core.jar 以通过添加以下行来强制这种行为:
bootstrap.setOption("localAddress", new InetSocketAddress(localAddress, 0));
到 NettyClient.java,当 localAddress 提供有 -D 开关并由代码中的 getProperty() 方法读取时。但我也想避免对 JBoss 组件进行任何修改...
【问题讨论】:
标签: java networking jboss cxf