Jboss仅适用于localhost:8080,但在被ip调用时不会回复

时间:2011-06-01 16:47:19

标签: jboss jboss5.x java-server

我安装了JBoss 5.0.1 并运行它,但当我从localhost上的同一台计算机上调用它时:8080它可以工作 但是当我从其他计算机上调用它时它根本不能使用计算机IP ...当我有tomcat时,它曾经在两者上工作。所以有人知道这个问题吗?

4 个答案:

答案 0 :(得分:17)

如果您希望JBoss在计算机上的所有IP地址上进行通信,则可以使用-b选项启动它,并将0.0.0.0作为IP地址传递,例如

-b 0.0.0.0

可能更好的是绑定到您想要的特定IP地址。您可以使用-b选项再次执行此操作,但是传递要绑定的IP地址或要绑定的DNS名称,例如

-b 192.168.0.1

或     -b jbosshostname

您可以将-b选项放在run.bat文件中,以便在将JBoss作为服务运行时自动使用它 - 假设是Windows。如果您不使用Windows,则可以将此选项放在run.sh文件中。

如果您不希望将-b选项放在run.sh/bat文件中,可以在命令行输入:

run.bat -b 192.168.0.1

答案 1 :(得分:8)

jboss 7的解决方案是相同的,但为管理界面添加了-bmanagement

-b 0.0.0.0 -bmanagement 127.0.0.1

如果您希望在配置文件中永久设置此项,则可以编辑文件standalone/configuration/standalone.xml

<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="unsecure">
        <inet-address value="${jboss.bind.address.unsecure:127.0.0.1}"/>
    </interface>
</interfaces>

为:

<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:0.0.0.0}"/>
    </interface>
    <interface name="unsecure">
        <inet-address value="${jboss.bind.address.unsecure:127.0.0.1}"/>
    </interface>
</interfaces>

答案 2 :(得分:1)

使用-b选项运行JBoss:

$ ./run.sh -b 0.0.0.0

(在Windows上):

> run.bat -b 0.0.0.0

答案 3 :(得分:1)

您必须相应地编辑run.bat或run.sh,包括绑定-b 0.0.0.0。

或者您可以通过命令行运行jboss。

运行-b 0.0.0.0