这几天入职到了一家新的公司,然后第一天就开始搭建各种环境,由于原先一直用的是Tomcat容器,然后也是第一次接触JBOSS容器,搭建完之后,在MyEclipse中启动了JBOSS容器,然后想在浏览器中访问看看,直接输入的IP地址+JBOSS的端口号,浏览器中报无法访问,我想是不是因为IP地址输入错了,之后改成localhost再试发现又是正常的可以访问,之后特意查看了下本机的IP地址,发现也没有写错,但就是浏览器中无法访问,这下就有点郁闷了,难道和Tomcat不一样?之后就是度娘,发现还真是不一样。
1、使用localhost访问正常
2、使用IP地址报无法访问
JBOSS版本:jboss-4.2.3
症状:
服务器无法通过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访问了。
===========================================
找到JBOSS_HOME的\server\default\deploy\jboss-web.deployer\server.xml文件,
<Connector port="8888" address="0.0.0.0"
maxThreads="250" maxHttpHeaderSize="8192"
emptySessionPath="true" protocol="HTTP/1.1"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009" address="0.0.0.0" protocol="AJP/1.3"
emptySessionPath="true" enableLookups="false" redirectPort="8443" />
将其中的${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"/>
修改完之后保存,重新在MyEclipse中启动JBOSS,然后在浏览器中分别通过两种方式进行访问,这下正常。
原文地址:http://feng88724.iteye.com/blog/263211