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



Jboss无法通过外网IP地址访问,只能用localhost\127.0.0.1访问。

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代码 收藏代码
<!– A HTTP/1.1 Connector on address 8080 –>
<Connector port=”8080″ address=”${jboss.bind.address}”
maxThreads=”250″ strategy=”ms” maxHttpHeaderSize=”8192″
emptySessionPath=”true”
enableLookups=”false” redirectPort=”8443″ acceptCount=”100″
connectionTimeout=”20000″ disableUploadTimeout=”true”/>
将其中的${jboss.bind.address}改为0.0.0.0
======================================
另附:

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

Xml代码 收藏代码
<!– A HTTP/1.1 Connector on port 8080 –>
<Connector port=”8080″ address=”${jboss.bind.address}”
maxThreads=”250″ strategy=”ms” maxHttpHeaderSize=”8192″
emptySessionPath=”true”
enableLookups=”false” redirectPort=”8443″ acceptCount=”100″
connectionTimeout=”20000″ disableUploadTimeout=”true”/>
把里面的8080改为80。JBOSS启动之后就可以用http://localhost/访问。
原文地址:http://feng88724.iteye.com/blog/263211