我已将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应用程序进行远程访问?
答案 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>