jBoss无法通过IP地址访问,只能用localhost\127.0.0.1访问

时间:2025-02-21 21:03:57
http://feng88724.iteye.com/blog/263211 JBOSS版本:4.2.2GA

症状:服务器无法通过IP地址去访问,只能用127.0.0.1或者localhost来访问。 
解决办法: 
启动JBOSS的时候输入:run -b xxx.xxx.xxx.xxx 
其中xxx.xxx.xxx.xxx为本机的IP地址。

原因: 
JBOSS 4.2以上版本服务启动如果不加任何参数的话,只监听127.0.0.1,就是说只能用127.0.0.1或者localhost访问,用本机的对外地址 访问不了,同一网络内别的机子没法访问。除非你用参数-b ip地址 来绑定监听的地址才可以。 
这和以前版本的JBOSS不一样,以前版本的不加任何参数是监听本机所有的IP地址,现在必须使用参数-b 0.0.0.0才可以监听全部地址。

====================================== 
1. 
附,以下是具体解决方法: 
在jboss-4.2.2.GA\bin目录下,新建start.bat文件,录入如下内容: 
run.bat -b 0.0.0.0 
保存即可。使用你新制作的start.bat文件启动服务之后就可以IP访问了。 
====================================== 
2. 
找到JBOSS_HOME的\server\default\deploy\jboss-web.deployer\server.xml文件,

找到

Xml代码  jBoss无法通过IP地址访问,只能用localhost\127.0.0.1访问
  1. <!-- A HTTP/1.1 Connector on address 8080 -->
  2. <Connector port="8080" address="${jboss.bind.address}"
  3. maxThreads="250" strategy="ms" maxHttpHeaderSize="8192"
  4. emptySessionPath="true"
  5. enableLookups="false" redirectPort="8443" acceptCount="100"
  6. connectionTimeout="20000" disableUploadTimeout="true"/>

将其中的${jboss.bind.address}改为0.0.0.0 
======================================

另附:

Jboss 改端口号: 
找到JBOSS_HOME的\server\default\deploy\jboss-web.deployer\server.xml文件,找到如下部分:

Xml代码  
  1. <!-- A HTTP/1.1 Connector on port 8080 -->
  2. <Connector port="8080" address="${jboss.bind.address}"
  3. maxThreads="250" strategy="ms" maxHttpHeaderSize="8192"
  4. emptySessionPath="true"
  5. enableLookups="false" redirectPort="8443" acceptCount="100"
  6. connectionTimeout="20000" disableUploadTimeout="true"/>

把里面的8080改为80。JBOSS启动之后就可以用http://localhost/访问。