用Apache httpd尝试反向代理。无法获得URL重写功能

时间:2011-08-10 17:35:43

标签: url-rewriting apache2 httpd.conf

我在Apache Tomcat下的服务器端口8090上运行Sventon。我也在这台服务器上运行Apache httpd,我想让用户输入:

http://myserver.com/repos

要到达Sventon而不是:

http://myserver.com:8090/svn

我尝试设置ReverseProxy并且大部分都成功了。输入:

http://myserver.com/repos

将您带到Sventon,但浏览器中的URL更改为:

http://myserver:8090/svn

我想隐藏网址中的更改,我有以下配置:

ProxyRequests off
ProxyPass /repos http://myserver.company.com:8090/svn
#ProxyPassReverse /repos http://myserver.company.com:8090/svn

<Location /repos>
        ProxyPassReverse /
        SetOutputFilter proxy-html
#       ProxyHTMLInterp  On
        ProxyHTMLURLMap  /      /repos
        RequestHeader    unset  Accept-Encoding
</Location>

这似乎很小,但我们计划在所有其他系统中执行此操作。我们正在运行Jira,Confluence,Jenkins等。有些在这个系统上,有些在其他系统上。我想设置它,以便我有一组简单的URL:

http://myserver.company.com/issues
http://myserver.company.com/wiki
http://myserver.company.com/builds
http://myserver.company.com/repos

而不是像这样:

http://anotherserver.company.com:8090/jira
http://asecondserver.company.com:8999/confluence
http://asecondserver.company.com:8080/
http://myserver.company.com/8090/svn

正如我所说,ReverseProxy似乎正在发挥作用。它会转到其他URL,但它会更改浏览器中的URL(我们要隐藏它)。

知道我做错了吗?