JBoss Application Server:从另一台机器访问已部署的Web应用程序

时间:2013-01-07 15:59:29

标签: java networking jboss java-ee-6 jboss7.x

我已将Web应用程序部署到Jboss独立应用程序服务器V7.1.1。

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

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

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

我看了一下Jboss服务器standalone.xml文件并尝试将socketBinding元素的interface属性更改为public,仍然没用。

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

任何人都可以告诉我需要做出哪些更改才能访问部署在Jboss上的这些Web应用程序进行远程访问?

3 个答案:

答案 0 :(得分:3)

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

绑定到特定的IP:

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

绑定到所有IP:

./standalone.sh -b 0.0.0.0

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

答案 1 :(得分: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>

答案 2 :(得分:1)

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

要使jboss服务器资源远程可用,首先我们需要将接口属性添加到 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>
相关问题