SVN 通过 http - PROPFIND 405

SVN 通过 http - PROPFIND 405


我有一台Debian 8服务器,上面subversionApache 2.4.10服务器正在运行。由于公司防火墙的限制,
我最近想使用 subversion 来工作。WebDav

为了使整个过程正常工作,我使用了mod_dav_svn身份Basic验证和authz访问文件。
设置部分有效,因为我能够在浏览器中查看存储库列表并深入研究存储库(我甚至可以在浏览器中查看单个文件),因此权限应该设置正确。

我尝试了各种不同的配置选项(似乎很多人都遇到了这个405 not allowed问题)。
为了测试,我不仅使用了svn客户端,还使用了cadaver客户端,结果得到了相同的405响应。

这是我的服务器使用的相应配置,要查看我尝试的内容,请查看此帖子底部的列表:

<Directory /svn>
    Options -Indexes -ExecCGI -Includes -MultiViews +FollowSymlinks
    DirectoryIndex disabled
    Require all granted
    #DAV on
    #DavDepthInfinity on
</Directory>
<Location /svn/>
    Options -Indexes -ExecCGI -Includes -MultiViews +FollowSymlinks
    RewriteEngine off
    DirectoryIndex disabled

    #Dav on
    #DavDepthInfinity on
    DAV svn
    SVNListParentPath on
    SVNParentPath /svn
    AuthType Basic
    AuthName "Subversion Repository"
    AuthUserFile /svn/passwd
    AuthzSVNAccessFile /svn/authz
    SSLRequireSSL

    <LimitExcept GET PROPFIND OPTIONS REPORT>
        Require valid-user
    </LimitExcept>
</Location>

只是为了澄清一下:
我能够通过 提取和提交svn+ssh:,存储库位于具有必要权限的/svn组下(apache 用户是该组的成员)。 该文件指定所有人(所有地方)的读取访问权限和特定组的写入访问权限(我不知道是否有必要发布它,因为它的设置最少,请告诉我)。svn
authz

我尝试过的事情列表(我没有任何提出此建议的帖子的链接,但几乎所有内容都来自谷歌):

  • 设置Location/svn/而不是/svn
  • 添加<Limit PROPFIND> require all granted </Limit>
  • 设置DavDepthInfinity on,因为默认情况下禁用
  • 添加<Directory /svn>
  • 禁用该目录和位置的索引文件
  • 设置require all granted
  • 环境RewriteEngine off

好吧,我尝试过的东西是随机的,正如我所说的,我从谷歌的各种线程中获取了它们。

我希望我能够很好地描述我的问题。
任何关于如何解决这个问题的提示都非常感谢!

答案1

嗯,这有点奇怪(至少在我看来)。
我之前尝试使用以下命令进行检查:
svn co https://my-domain.com/svn/repo

这产生了405响应。
我刚刚尝试使用以下行:
svn co https://www.my-domain.com/svn/repo

现在它运行得很好。
似乎这个话题不太有趣,但我真的很感激有人能给我一些关于为什么www需要它的见解。

相关内容