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

时间:2022-07-08 19:11:18

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文件,

找到

    <!-- 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文件,找到如下部分:

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