2013-08-27 48 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]