svntraefikmod-dav-svn

SVN behind Traefik returning error 500 when diff between revisions where a directory was deleted


Well, I wanted to be specific in the subject and ended up writing all the problem in it ^^

So, I have a Traefik Docker container that exposes a SVN container (using Apache DAV_SVN module). Problem is that when I do a svn diff -r 1:2 https://THEURL/svn/Repo/ it fails for a 500 error :

svn: E175002: Unexpected server error 500 'Internal Server Error' on '/svn/Repo/!svn/rvr/1/deleted_directory'

It seems that this happens if a directory (deleted_directory in my example) has been deleted in rev 2 but existed in rev 1.

Problem is that I had another SVN server on which it worked just fine (an old VisualSVN) with the same command (and same repo).

Another interesting fact is that if I execute the command right in the SVN container (replacing THEURL by localhost) then everything works fine. This suggests that this is a reverse-proxy / Traefik issue.

Do you have any insight ? Thanks !


Solution

  • I finally found the solution of the problem : a corporate firewall blocking WebDav. This explains why it worked inside the container, and on the other server (VisualSVN) which was on the corporate network...

    Even with Traefik, everything works fine from home (which means : without firewall). Sniffing the HTTP frames showed a message indicating that this firewall disallowed WebDav methods. Indeed, the PROPFIND is the one which caused troubles.

    Closing this question ;-)