2010-03-23 57 views
1

我有一個內部應用程序(Jira),我想要在內部和外部使用,現在可能有另一種方法來做到這一點,在這種情況下,我對它開放,但這是我有到目前爲止:重寫由apache服務的內容

URL one: https://domainname.com/jira - external domain name for it 
URL two: https://domainname.local/jira - internal network name for it. 

我運行Apache作爲反向代理,我有這樣的:

<Location /jira> 
    ProxyPass http://127.0.0.1:8080/jira 
    ProxyPassReverse http://127.0.0.1:8080/jira 
</Location> 

吉拉創建所有使用基本URL,在這種情況下被設置爲「https://domainname.local/jira其鏈接',很顯然,當頁面服務於外部世界時,他們擁有本地化的內容。

問題是,有沒有辦法讓內容被重寫,因爲它是爲了將HTML內的.local地址更改爲.com而改變的?

有沒有更簡單的方法來解決這個問題?

乾杯任何幫助....

安迪

+0

不完全確定我在這裏理解你的問題......爲什麼你不能只從內部網絡連接到https://domainname.com/jira? – rytis 2010-03-23 22:48:27

+0

Dupe,請參閱我的答案http://stackoverflow.com/questions/956361/apache-tomcat-using-mod-proxy-instead-of-ajp/962928#962928。 – 2010-03-23 22:50:26

+0

其實並不是一個騙局。 在這種情況下,Jira包含一個基本URL https://domainname.local/jira。這用於構建所有URL。因此,無論它假定它在哪裏託管,它都會具有這些基本URL。 我需要重寫內容或重寫Jira以考慮它傳遞的服務器名稱。 – Andy 2010-03-24 09:22:15

回答

0

怎麼樣提供一個唯一的URL來JIRA?您的用戶可能會喜歡這個!

我們將此與CNames,Apache的VirtualHosts,mod_jk用於jira獨立版和反向代理。

HIH!

+0

該設置的外觀如何?不反對這個想法... – Andy 2010-03-25 10:05:31

0

我JIRA本地運行:84,這是訪問它作爲jira.yourdomain.com設置:

#Jira 
<VirtualHost *:80> 
ServerName jira.yourdomain.com 
ServerAlias jira.yourdomain.com 

#jirafast? 
ExpiresActive On 
ExpiresDefault "access plus 300 seconds" 
    ExpiresByType text/html "access plus 1 day" 
    ExpiresByType text/css "access plus 1 day" 
    ExpiresByType text/javascript "access plus 1 day" 
    ExpiresByType image/gif "access plus 1 month" 
    ExpiresByType image/jpg "access plus 1 month" 
    ExpiresByType image/png "access plus 1 month" 
#jirafast? - 


ProxyPreserveHost On 
ProxyPass/http://localhost:84/ 
ProxyPassReverse/http://localhost:84/ 
<Proxy http://localhost:84/> 
# Order Allow,Deny 
# Allow from all 
    Order Deny,Allow 
    Allow from 127.0.0.1 
</Proxy> 
</VirtualHost> 

如果是次優的,不要感到驚訝,我所知道的是它的工作原理

0

Jira將根據用於訪問服務器的URL構建URL。在你的情況下,mod_proxy正在使用代理URL進行連接。

你已經有兩個域代理到本地機器,這似乎是不必要的,因爲相同的Web服務器服務於這兩個域。如果可以的話,我會砍掉Apache中間人,並將兩個域配置爲直接指向Jira。

儘管如此,如果您在配置中包含ProxyPreserveHost On,它會將主機名保留到服務器。