外部无法访问Jboss服务的解决方案

时间:2021-11-07 20:08:05

      最近正在学习EJB的开发,并需要给同组同事做一个培训。在培训前,我写了几个例子,用于在培训的过程中做演示。

      由于Jboss(我用的是jboss 5.1.0)也是布置在本地,所以一直是用localhost或127.0.0.1访问这些例子。然而,在培训的过程中却碰到了问题:无法访问。开始用Ping命令确定可以ping通,而且暂时也把防火墙给关了,却始终无法访问,结果例子没在培训中演示。

      回到工位后,用局域网IP在本地访问Jboss,惊奇的发现也无法访问,这时就感觉到应该是jboss没有提供远程访问的功能了。后来到网上找了找,终于验证了我的猜测。以下是导致这个问题的原因:

      早期的Jboss默认监听的是本机的对外IP地址,而Jboss 4.2及以上的版本,则默认监听的是127.0.0.1, 所以只能在本机使127.0.0.1或者 localhost访问,用本机的对外IP无法访问。而局域网中的别的机子就更无法访问了。

 

解决方案:

    1. 在启动的快截方式的命令中加入:run -b 局域网ip 

    2. 修改 jboss-4.2.0.GA/server/default/deploy/jboss-web.deployer/server.xml 把Connector下面的

address 改成对应的 IP 或者 0.0.0.0(0.0.0.0用于监听全部地址。) 就可以用 IP 访问了。