重写apache提供的内容

时间:2010-03-23 22:46:46

标签: apache tomcat proxy reverse jira

我有一个内部应用程序(Jira),我想在内部和外部使用,现在可能有另一种方式这样做,在这种情况下我对它开放,但这是我到目前为止:

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>

Jira使用基本网址创建所有链接,在这种情况下设置为“https://domainname.local/jira”,因此很明显,当网页被提供给外部世界时,他们就会拥有.local。

问题是,有没有办法让内容在服务时重写,以便将HTML中的.local地址更改为.com的内容?

有没有更简单的方法来解决这个问题?

为任何帮助干杯....

安迪

3 个答案:

答案 0 :(得分:0)

如何为JIRA提供唯一的网址?您的用户可能会喜欢这个!

我们将它用于CNames,Apache的VirtualHosts,mod_jk到jira独立版和反向代理。

HIH!

答案 1 :(得分: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>

如果它不是最佳的,不要惊讶,我所知道的是它的工作原理

答案 2 :(得分:0)

Jira将根据用于访问服务器的URL构建URL。在您的情况下,mod_proxy正在使用代理URL进行连接。

您已经将两个域代理到本地计算机,这似乎是不必要的,因为同一个Web服务器正在为这两个域提供服务。如果可以,我会删除Apache中间人,并将两个域配置为直接指向Jira。

尽管如此,如果您在配置中包含ProxyPreserveHost On,它会将主机名持久保存到服务器。