2015-08-24 62 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