Linux和JBoss之間的訪問問題
Linux上JBOSS 啟動后只能本機訪問,其它機器不能訪問問題解決。操作系統為openSUSE :
jboss版本 4.2.2.GA
?
1.我的jboss安裝后只能使用wget http://127.0.0.1:8080/ 而使用本機的IP172.20.80.148? wget http://72.1.80.148:8080 卻不能訪問。
這個問題煩了我兩天的時間。開始我以為是iptables的問題。后來聽同事說應用程序啟動的時候會邦定一個
IP。也就是對應一塊網卡。用ifconfig查看后,有一個eth0和lo兩個信息。我使用的是jboss.4.2的版本
默認他邦定到了lo上。我修改了一下/usr/local/jboss/jboss-4.2.0.GA/server/default/deploy/jboss-web.deployer
中的server.xml 文件。將${jboss.bind.address} 修改為0.0.0.0 這樣通過eth0,lo都可以訪問jboss的
8080端口。
例如:
modify file: jboss-4.2.2.GA\server\default\deploy\jboss-web.deployer\server.xml?
? <!-- remark by rock for localhost problem
? ? <Connector port="8080" address="${jboss.bind.address}"? ?
? ? ? ? maxThreads="250" maxHttpHeaderSize="8192"
? ? ? ? emptySessionPath="true" protocol="HTTP/1.1"
? ? ? ? enableLookups="false" redirectPort="8443" acceptCount="100"
? ? ? ? connectionTimeout="20000" disableUploadTimeout="true" />
? ? -->
? 修改address="${jboss.bind.address}"如下:
? <Connector port="8080" 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" />
2.使用命令netstat -nlp 查看一下。
Local Address 更改為 0.0.0.0:8080 而不是以前的127.0.0.1:8080
3. wget http://72.1.80.148:8080 也可以訪問了。
注意:先用telnet 72.1.80.148 1099 測試遠程的jboss是否連通。
??????????? 設置SUSE系統的防火墻允許1099,8080和8083端口通過并關閉防火墻。
????????????關閉SuSE防火墻的命令:
????????????$ sudo /sbin/SuSEfirewall2 stop
????????????永久關閉 chkconfig SuSEfirewall2 off
????????????SUSE系統上啟動JBoss服務使用 run.sh -b 72.1.80.148的命令。