我正在使用JBoss AS 7并尝试使用IP(来自Intranet中的计算机)连接到我的应用程序。它不起作用。如果我从具有服务器的计算机进行测试,我可以看到系统正在运行,如果我通过localhost(http:// localhost:8080 / MySystem ....)但不是如果我尝试使用IP(http://: 8080 / MySystem ....)。
任何帮助?
答案 0 :(得分:83)
答案是编辑standalone.xml并插入标记any-address而不是绑定到127.0.0.1的inet-address
<interfaces>
<interface name="management">
<inet-address value="127.0.0.1"/>
</interface>
<interface name="public">
<any-ipv4-address/>
</interface>
</interfaces>
答案 1 :(得分:21)
我在standalone.xml中将127.0.0.1(localhost)更改为0.0.0.0。有用。请注意安全性。
<interfaces>
<interface name="management">
<inet-address value="${jboss.bind.address.management:0.0.0.0}"/>
</interface>
<interface name="public">
<inet-address value="${jboss.bind.address:0.0.0.0}"/>
</interface>
<!-- TODO - only show this if the jacorb subsystem is added -->
<interface name="unsecure">
<!--
~ Used for IIOP sockets in the standard configuration.
~ To secure JacORB you need to setup SSL
-->
<inet-address value="${jboss.bind.address.unsecure:0.0.0.0}"/>
</interface>
</interfaces>
答案 2 :(得分:7)
您是否在配置文件中配置了IP地址?
在没有配置IP地址的情况下启动jboss会将jboss的默认地址设置为localhost,这适合开发或者生产服务器,其中apache用作jboss的代理并驻留在同一台机器上。
设置JBoss的IP地址:
To a specific IP address
run.sh -b 10.62.31.31
To localhost or the IP address assigned to the server
run.sh -b 0.0.0.0
您也可以在<interfaces>
section下的配置文件中进行更改。
答案 3 :(得分:0)
别忘了防火墙!
如果您修复了绑定地址但仍然无法连接到JBoss,请尝试解决服务器的防火墙问题。
要在Linux RHEL上停止防火墙,请使用以下命令:
/etc/init.d/iptables stop
更新: 在RHEL7上,未安装iptables - 您可以使用:
systemctl stop firewalld