2013-08-27 85 views
2

我們有一個小問題,我想在這裏討論。隱藏JIRA上下文路徑

我們有一臺安裝了JIRA和Confluence的虛擬機。 JIRA和Confluence被輸入到DNS列表中,所以用戶只需在瀏覽器中輸入「jira」或「confluence」即可到達服務器 - 已準備好的東西

我們配置了Apache將請求轉發到兩個不同的pathes在httpd.conf:

<VirtualHost *:80> 
    ServerName crucible 
    ServerAlias crucible 
    RedirectPermanent/https://machine/crucible 
    </VirtualHost> 

    <VirtualHost *:80> 
    ServerName confluence 
    ServerAlias confluence 
    RedirectPermanent/https://machine/confluence 
</VirtualHost> 

然後,我們配置proxy_ajp用於SSL交際 - 什麼也媒體鏈接的作品

#JIRA 
ProxyPass    /jira  ajp://jira:8009/jira 
ProxyPassReverse  /jira  https://jira:8009/jira 

#Confluence 
ProxyPass    /confluence  ajp://confluence:8011/confluence 
ProxyPassReverse  /confluence  https://confluence:8011/confluence 

我們唯一的問題是URL顯示了頁面的確切路徑,這當然是正確的:

http://jira/jira/... 
http://confluence/confluence/... 

有沒有可能性,或者一個例子如何縮短urls來擺脫這些加倍的jiras和會員?

回答

0

將第一個參數轉換爲代理指令爲/,將尾部斜線添加到第二個參數。此時您也可能會丟失重定向。

如果有限的內容不應該代理,您可以使用! ProxyPass手冊中的語法來制定例外。

這將導致您丟棄重定向上的/ jira /。

如果您的網址出現在外面,您可能希望使用mod_rewrite來悄悄剝離這些前綴,例如

RewriteEngine ON 
RewriteRule ^/(?:jira|crucible)(/.*) $1 [PT]