1

好吧,我想具体一点,最后把所有的问题都写在里面了^^

所以,我有一个 Traefik Docker 容器,它公开了一个SVN容器(使用 Apache DAV_SVN 模块)。问题是,当我执行 a 时svn diff -r 1:2 https://THEURL/svn/Repo/ ,它会因 500 错误而失败:

svn:E175002:“/svn/Repo/!svn/rvr/1/deleted_directory”上的意外服务器错误 500“内部服务器错误”

如果目录(在我的示例中为已删除目录)已在 rev 2 中删除但存在于 rev 1 中,似乎会发生这种情况。

问题是我有另一个 SVN 服务器,它VisualSVN使用相同的命令(和相同的 repo)工作得很好(一个旧的)。

另一个有趣的事实是,如果我直接在 SVN 容器中执行命令(用 localhost 替换 THEURL),那么一切正常。这表明这是一个反向代理/Traefik 问题。

你有什么见解吗?谢谢 !

4

1 回答 1

0

我终于找到了问题的解决方案:企业防火墙阻止了 WebDav。这解释了为什么它在容器内以及公司网络上的另一台服务器(VisualSVN)上工作......

即使使用 Traefik,在家中一切正常(这意味着:没有防火墙)。嗅探 HTTP 帧会显示一条消息,表明此防火墙不允许使用 WebDav 方法。确实,PROPFIND 是引起麻烦的那个。

结束这个问题;-)

于 2018-06-08T08:45:01.670 回答