JBoss只能在本地主机的8080端口工作,但当通过IP调用时不回应。

18

我安装了JBoss 5.0.1并运行它,但当我在同一台计算机上使用 localhost:8080 调用它时,它可以正常工作,但当我从其他计算机上使用计算机IP调用它时,它完全无法工作...以前当我使用Tomcat时,两种情况下都可以正常工作。有人知道问题出在哪里吗?


你在启动时使用了哪些选项?运行脚本中“-b”参数的值是多少? - Jeff Foster
4个回答

18

如果您想让JBoss与机器上的所有IP地址通信,则可以使用 -b 选项启动它,并将0.0.0.0作为ip地址传递,例如:

-b 0.0.0.0

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

最好的方法可能是绑定到你想要的特定 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

9
解决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>

to:

<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>

1
值得一提的是,在Eclipse中启动的JBoss中涉及到修改standalone.xml似乎不起作用。您需要在启动配置的程序参数中添加-b 0.0.0.0 - albfan
此外,取消选中“始终更新与运行时相关的参数”。 - Tirath

1

使用-b选项运行JBoss:

$ ./run.sh -b 0.0.0.0

(在Windows上):
> run.bat -b 0.0.0.0

1

您需要编辑 run.bat 或 run.sh 文件,确保绑定了 -b 0.0.0.0。

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

run -b 0.0.0.0


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接