症状:服务器无法通过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代码  


  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/访问。