外网ip访问jboss报错:Connection refused to host

应用服务器jboss4.2.2:192.168.6.111:8080(内网ip:端口),为了对外提供服务,网络环境做了映射:映射外网ip:[b]114.xxx.xxx.xxx:port2[/b]。服务的web端和业务逻辑层打包在一个ear发布。通过apache+tomcat做前端的转发。jboss配置的是内网的ip。
访问服务时候报错如下:
javax.naming.CommunicationException [Root exception is java.rmi.ConnectException
: Connection refused to host:114.xxx.xxx.xxx; nested exception is:
java.net.ConnectException: Connection timed out: connect]
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:620)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:463)
at javax.naming.InitialContext.lookup(InitialContext.java:347)
at tlc.manufacturer.MfInfoView. <init >(MfInfoView.java:21)
at org.apache.jsp.dir.index_jsp._jspService(index_jsp.java:60)
at org.apache.jasper.runtime.HttpJspBase.service
(HttpJspBase.java:94)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.jasper.servlet.JspServletWrapper.service
(JspServletWrapper


解决方法:
改mod_jk/下work.properties:
worker.cms.host=192.168.6.111,原来是localhost。
jboss的run.sh使用host参数,依然是内网ip即可(在startup.sh运行run.sh)


附带说明:jboss的run参数:-host和-b
1. JBoss4.2以前版本,JBoss监听本机所有的IP地址。
2. JBoss4.2以后版本,JBoss只监听127.0.0.1。因此,只能用127.0.0.1或者localhost访问,用本机的对外ip(如上面的192.168.6.111)访问不了JBoss的应用。无论是在局域网内,还是公网。
3. JBoss4.2以后版本,可以用run.sh的参数-b ip(或者-host ip)来绑定监听的ip地址(如上面的192.168.6.111)。
4. run.sh的参数-b 0.0.0.0:可以监听全部地址。
5. 等效与run.sh的参数-b的做法是:修改JBoss\server\default\deploy\jboss-web.deployer\server.xml,把Connector下面的address改成对应的IP或者0.0.0.0。
<connector protocol="HTTP/1.1" port="8080" address="${jboss.bind.address}" connectiontimeout="20000" redirectport="8443">
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值