My goal is to create a front-end reverse proxy on an SBS2011 server for my internal source control services that are hosted on a separate Apache/Debian machine. It is almost working perfectly, here is the current configuration:
The problem is that SVN uses HTTP verbs that seem to be blocked by IIS. For example, I get a 405 response for a PROPFIND request (/test/!svn/vcc/default) sent by Tortoise SVN. How could I resolve this issue?
Update
I am a bit closer now. The problem was somewhere else. So, my goal was to achieve a proxy like this:
https://example.com/src/svn/** => http://svn.example.local/**
The response body of the SVN server contains absolute paths that are used later by the SVN client. For example:
<D:href>/test/!svn/vcc/default</D:href>
This outbound message is rewritten to this:
<D:href>/src/svn/test/!svn/vcc/default</D:href>
But this brings another problem, these paths might be included later in the request body of an inbound message (sent by the SVN client), that should be rewritten (removing /src/svn/
) by the proxy before delivering to the SVN server. As far as I know, there is no way to rewrite the body of a request (inbound message).