将多个URL指向单个JBoss实例

时间:2013-06-19 11:17:00

标签: web-applications jboss jboss5.x

我有一个负载均衡器后面的JBoss实例。要达到此实例,我们有一个www.company.com域名。此域指向Load Balancer,后者又将此jboss主机用于服务器页面。 为使此设置正常运行,我们必须将server.xml文件更改为

<Connector protocol="HTTP/1.1" port="8080" address="${jboss.bind.address}"
           connectionTimeout="20000" redirectPort="443"
           proxyName="www.comapny.com" proxyPort="80"/>

现在我们要求另一个网址(www.company2.com)指向同一台服务器,并且这两个网址都必须正常运行。

这实际上意味着我需要另一个负载平衡并将新URL指向这个新的负载均衡器,而后者必须使用旧的安装。

我一直在阅读JBoss文档,找不到任何可以帮助我实现这一目标的内容。

这甚至可能吗?如果是这样,怎么办呢?

我的服务器正在运行JBoss 5.1.0 GA

2 个答案:

答案 0 :(得分:1)

说实话,事实证明这比我最初想象的要简单得多。以下两位人员在他们的博客中详细解释了这一点。所以我不想再在这里添加了。

http://www.fusioncube.net/index.php/hosting-multiple-domains-with-jboss http://www.openscope.net/2010/01/17/virtual-hosting-with-jboss/

这通过不同的URL

来处理对相同部署的HTTP访问

我确实需要使用带有2个不同签名证书的https。我仍然在寻找解决方案(我会尽快更新这个答案)。但对于使用HTTP的人来说,上面的博客就是他们需要经历的全部内容。

答案 1 :(得分:0)

实现此目标的一种方法是使用Virtual IPs。获取两个虚拟IP,每个域指向一个指向负载均衡器的域。然后,您可以配置负载均衡器,以根据用户请求的域将负载直接加载到该单个JBoss服务器/端口上的关联URI。在这种情况下,您可能需要从tomcat配置中删除proxyName和proxyPort属性。

这是高级别的请求流程(希望防火墙也介于两者之间),

Browser request for www.company1.com -> Virtual IP1 -> Load Balancer -> JBoss server IP:port/company1Site

Browser request for www.company2.com -> Virtual IP2 -> Load Balancer -> JBoss server IP:port/company2Site