2015-08-24 31 views
0

我是Apache的新手。我有2个jboss(Jboss as 7.1.1)和apache httpd服务器。我正在使用mod_cluster进行负载平衡。我希望隐藏用户的jboss网址,并希望向用户显示干净的网址。使用mod_cluster在Apache HTTPD中进行URL重写

例如,

www.mydomain.com将有我的静态网站。
subdomain.mydomain.com应该去mydomain.com:8080/myapp
subdomain.mydomain.com/mypage.xhtml应该去mydomain.com:8080/myapp/mypage.xhtml
sumdomain.mydomain.com/ myservice应去mydomain.com:8080/myapp/service.xhtml?name=myservice

我已经尝试了许多事情没有成功。有人可以告诉我,如果可能或不可以。如果可能的话,我应该做些什么。

非常感谢。

问候。

回答

0

你不能做你想做的事的原因是你试图一次解决两个非常不同的问题。将它们分开并单独解决。

负载均衡器:我通常使用代理负载均衡器。例如

<Proxy balancer://mycluster> 
BalancerMember http://wn1.seco.com 
BalancerMember http://wn2.seco.com 
</Proxy> 
ProxyPass /test balancer://mycluster 

重定向和转发:使用mode_rewrite到特定的URL重定向到一个不同的。

RewriteEngine on 
RewriteRule "^/foo\.html$" "/bar.html" [PT] 
+0

感谢@ user2984552提示回复。我可以通过代理而不是mod群集来实现我想要实现的目标吗? – mandar

+0

是的,你可以。阅读更多关于如何使用Apache的负载平衡器以及如何使用Apache重定向特定的网址pathern。重定向和转发有区别。确保你知道你需要哪一个。 – Arjang

0

您可以使用mod_cluster,仍然停留在ProxyPass伪指令的控制。例如。 CreateBalancers 1然后你可以自己创建代理ProxyPassMatch ^/static/ ! ProxyPass/balancer://qacluster stickysession=JSESSIONID|jsessionid nofailover=on ProxyPassReverse/balancer://qacluster ProxyPreserveHost on。见the relevant docs for mod_cluster 1.3.1.Final