2009-10-01 188 views
4

我需要一些理解JBoss主机名绑定的人的帮助。我认为解决方案很简单,但解释起来很复杂。JBoss绑定IP地址

我使用JBoss(v4.2)部署应用程序,并且在配置应用程序时遇到麻烦。

此应用程序有两部分,一个是8080端口上的网站,另一个是使用SOAP API的端口8080上的Web服务。

我的服务器位于防火墙后面,并有一个别名,让我们说这就是所谓的橙色 .mycompany.com

我的问题是,我不能让控制台连接到Web服务。该网站的工作原理,但我看到一个连接拒绝错误连接到Web服务。

[xfire.transport.http.HttpChannel] java.net.ConnectException:连接 拒绝

有两件事情我可以控制,绑定IP上Tomcat和的网址网页服务。

如果我启动JBoss,并绑定到本地IP地址:

./run.sh -b 10.1.2.3 

我设定的Web服务的URL是同一个IP

url=http://10.1.2.3:8080/services 

我能看到的网站在防火墙外端口8080上,但控制台无法连接到Web服务。 从服务器,橙色,本身我无法通过调用http://localhost:8080/http://10.1.2.3:8080或orange.mycompany.com:8080

但看到的网站,如果我开始JBoss和绑定到127.0.0.1:

./run.sh -b 127.0.0.1 

而且我将Web服务的URL设置为localhost

url=http://localhost:8080/services 

现在我无法从防火墙外看到任何网站。 但是从服务器本身,我可以看到网站浏览http://localhost:8080,我可以成功连接到Web服务。这很好,但我需要从外部访问该网站。

任何人都可以提出任何设置的组合,让我浏览网站,并让控制台调用本地主机上的web服务?

回答

11

没关系。

启动JBoss绑定到所有IP的作品。

./run.sh -b 0.0.0.0 
0

是不是你的JIRA独立运行,对不对?

我总是在mod_jk的apache后面运行tomcat和jboss。这仍然隐藏端口,对于新手用户来说听起来很棒。

你的服务器在NAT后面吗?

有时我使用ProxyPass或RewriteRules(mod_rewrite)通过反向代理提供外部访问。

+0

是的,我正在运行JIRA以及同一JBoss实例上的其他3个应用程序(使用端口8080)。只是为了使事情复杂化,我还在端口80上运行第二个JBoss实例。 – 2009-10-05 16:47:46

+0

运行,任何应用程序都需要知道它在哪里运行IP或主机?这听起来很糟糕! 即使使用完整的URL(proto://host.domain:port/dir/file?args#fragments)构建“HTML元素”,比如“a”,“img”等,对我来说也是不好的。也许你的应用程序没有你编码它这样做。想想解决这个问题。 无论如何,合并8080和80个tomcats,然后添加一个Apache作为前端呢?在http:// localhost!上访问apache和tomcat之间的东西! – 2009-10-07 00:16:12