SVN checkout with apache2 ReverseProxy fails
I'm trying to move all our code repositories from manual management to SCM-Manager. In this process I'm trying not to break the repository URLs, so after importing the existing repositories I configured the existing apache as a reverse proxy in front of scm-manager. SCM-Manager is reachable under the URL http://projects.igd.fraunhofer.de:9080/scm/ and the checkout works without problems when I access the repositories with this URL:
In order to keep the old URLs I configured apache2 like this:
ProxyRequests Off ProxyPreserveHost On ProxyPass / http://projects.igd.fraunhofer.de:9080/scm/ ProxyPassReverse / http://projects.igd.fraunhofer.de:9080/scm/ ProxyPassReverseCookiePath / http://projects.igd.fraunhofer.de:9080/scm/
Now I can access the SCM-Manager with this URL: https://scm.igd.fraunhofer.de This works fine, after I configured the same URL as Base URL in SCM-Manager.
What does not work is checking out code over this URL:
geschnei@gut:/tmp$ svn checkout https://scm.igd.fraunhofer.de/svn/BasicEngine/ Authentication realm: <https://scm.igd.fraunhofer.de:443> SONIA :: SCM Manager Password for 'geschnei': svn: Server sent unexpected return value (501 Method PROPFIND is not defined in RFC 2068 and is not supported by the Servlet API ) in response to PROPFIND request for '/scm/svn/BasicEngine/!svn/vcc/default'
At first I looked into the 501 error, but then I noticed there is a superfluous
/scm in the PROPFIND request. When I browse the repository with a web browser it is there as well (compare the url in the address bar and in the status bar, the mouse was hovering over the link). When I click on the link and remove the
/scm manually it works.
I suppose this
/scm is somewhere hard coded to be added to the url.