2

我们有一个小问题,我想在这里讨论。

我们有一台安装了 JIRA 和 Confluence 的虚拟机。JIRA 和 Confluence 被输入到 DNS 列表中,因此用户只需在浏览器中输入“jira”或“confluence”即可到达服务器 -这一切都已经奏效

我们将 apache 配置为将请求转发到 httpd.conf 中的两个不同路径:

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

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

然后,我们为 SSL 通信配置了 proxy_ajp -这也已经有效

#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/...

是否有可能或示例如何缩短网址以摆脱这些加倍的 jiras 和 counfluences?

4

1 回答 1

0

将代理指令的第一个参数转换为 /,将斜杠添加到第二个参数。那时您也可能会丢失重定向。

如果有不应代理的有限内容,您可以使用 ! ProxyPass 手册中的语法以进行例外处理。

这将导致您在重定向上删除 /jira/。

如果您在野外有 URL,您可能希望使用 mod_rewrite 以静默方式去除这些前缀,例如

RewriteEngine ON
RewriteRule ^/(?:jira|crucible)(/.*) $1 [PT]
于 2013-10-27T13:53:30.813 回答