3

我已将 Web 应用程序部署到Jboss独立应用程序服务器版本 7.1.1。

但由于某种原因,我无法从同一网络中的另一台机器访问该应用程序。服务器在端口 18080 上运行。

我已经在同一台机器上运行的tomcat服务器上部署了相同的应用程序,我可以在其他机器上远程访问它。tomcat的端口号:8080

为了验证端口号是否有问题,我只是在tomcat 18080和Jboss8080之间交换了端口号,我可以从tomcat访问应用程序但Jboss无法访问。因此端口号没有问题。

我查看了一些Jboss服务器standalone.xml文件并尝试将socketBinding元素的接口属性更改为公共,仍然没有用。

socket-binding name="http" interface="public" port="18080"

谁能告诉我需要做哪些更改才能远程访问部署在 Jboss 上的这些 Web 应用程序?

4

3 回答 3

3

或者,您也可以使用带有 -b 修饰符的 JBoss 启动脚本定义公共接口 IP 绑定。例如:

要绑定到特定 IP:

./standalone.sh -b xxx.xxx.xxx.xxx

要绑定到所有 IP:

./standalone.sh -b 0.0.0.0

默认行为仅绑定到 localhost (127.0.0.1)。

于 2013-01-07T19:25:41.183 回答
3

在您的standalone.xml 中进行以下更改。

<interfaces>
    <interface name="management">
        <inet-address value="${jboss.bind.address.management:127.0.0.1}"/>
    </interface>
    <interface name="public">
        <any-ipv4-address/>
    </interface>
    <interface name="unsecure">
        <inet-address value="${jboss.bind.address.unsecure:127.0.0.1}"/>
    </interface>
</interfaces>
于 2015-08-14T07:09:39.867 回答
1

我得到了问题的解决方案,我确实忽略了standalone.xml,所以匆忙发布了一个问题。无论如何,这对其他人来说真的很有帮助。

要使 jboss 服务器资源远程可用,首先我们需要将interface属性添加到soket-binding元素,如下所示:

<socket-binding name="http" interface="public" port="18080"/>
<socket-binding name="https" interface="public" port="18443"/>

第 2 步:使用 inet-address 修改接口以具有正确的 IP 地址。XXX.XXX.XXX.XXX 如下代码片段所示

<interfaces>
        <interface name="management">
            <inet-address value="${jboss.bind.address.management:xxx.xxx.xxx.xxx}"/>
        </interface>
        <interface name="public">
            <inet-address value="${jboss.bind.address:xxx.xxx.xxx.xxx}"/>
        </interface>
        <interface name="unsecure">
            <inet-address value="${jboss.bind.address.unsecure:xxx.xxx.xxx.xxx}"/>
        </interface>
    </interfaces>
于 2013-01-07T16:07:24.167 回答