这几天入职到了一家新的公司,然后第一天就開始搭建各种环境。由于原先一直用的是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.GAin文件夹下。新建start.bat文件。录入例如以下内容:
run.bat -b 0.0.0.0
保存就可以。使用你新制作的start.bat文件启动服务之后就能够IP訪问了。
===========================================
找到JBOSS_HOME的serverdefaultdeployjboss-web.deployerserver.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的serverdefaultdeployjboss-web.deployerserver.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。然后在浏览器中分别通过两种方式进行訪问,这下正常。