从远程和本地JBoss 7访问服务

我在Suse Linux机器上有两个不同的服务器(即端口8082上的tomcat和端口9080上的jboss)。 第一个已经安装了一段时间,第二个我刚刚安装。 现在我有问题从另一台机器访问第二个。

如果我看netstat的输出有一个区别:

user@server:/etc> netstat -l -n|grep 8082 tcp 0 0 :::8082 :::* LISTEN ser@server:/etc> netstat -l -n|grep 9080 tcp 0 0 127.0.0.1:9080 0.0.0.0:* LISTEN 

9080服务器似乎限制在127.0.0.1,而第一个有:::。

更新:

我从中更改了standalone.xmlconfiguration文件

 <interface name="public"> <inet-address value="127.0.0.1"/> </interface> 

 <interface name="public"> <any-address /> </interface> 

但是当我打电话给netstat时,仍然有一个区别,我仍然不能从远程连接到服务器:

 netstat -l -n |grep 9080 tcp 0 0 0.0.0.0:9080 0.0.0.0:* LISTEN 

这种差异的起源在哪里?这种差异的语义是什么?

JBoss 4.2和更高版本只在默认情况下侦听本地主机,您需要将-b 0.0.0.0添加到run.sh启动程序(init脚本等)以使其侦听所有可用的接口。

我在哪里工作,我们这样configuration我们的JBoss AS 7:

 <interface name="management"> <inet-address value="..."/> </interface> <interface name="public"> <inet-address value="..."/> </interface> 

其中'…'是安装JBoss AS 7的计算机的实际IP或主机名。 到目前为止没有问题的工作 – 到底什么是你的情况不起作用?

如果它不适合你尝试检查iptables。 ( sudo iptables -F暂时删除所有的规则,以便你可以检查iptables是否阻止你的通信)。

检查JBoss是否在监听: sudo netstat -tlnp
列出iptables规则: sudo iptables -L -n

也许你的套接字绑定到一个IPv6,尝试使用any-ipv4-address元素

 <interfaces> <interface name="management"> <inet-address value="127.0.0.1"/> </interface> <interface name="public"> <inet-address value="127.0.0.1"/> </interface> <!-- IPv4 --> <interface name="any"> <any-ipv4-address/> </interface> </interfaces> 

您也可以尝试使用套接字绑定组中的any接口

 <socket-binding-group name="standard-sockets" default-interface="any">