Subversion(Svn)Propfind 405 错误

Subversion(Svn)Propfind 405 错误

在 stackoverflow 上询问了以下问题。

http://stackoverflow.com/questions/2016868/subversion-svn-propfind-405-error/2017121

他们说你也许能帮忙。

我是 Subversion 的新手,有人告诉我这是自切片面包以来最好的东西。我试过谷歌,但不知道哪里出了问题,也试过了很多不同的建议。我得到了以下错误

位置信息指定不正确。

svn: '/svn' 的 Propfind: 405 方法不允许(http://IP地址),其中IPADDRESS 是我的服务器的IP。

当我尝试通过 Zend Studio 登录时,出现此问题。我使用以下网址尝试登录http://IP地址/svn/用户名:fakeuser 密码:fakepassword

我认为问题出在这个文件上,因为错误“位置信息指定不正确”。此文件包含在 httpd.conf 文件中。我已重新启动 apache,重新启动 apache 时没有出现错误。

<Location /project1>
   DAV svn
   SVNPath /home/jhughes/project1
   AuthzSVNAccessFile /home/jhughes/.svn-policy-file
   AuthName "SVN Repositories"
   AuthType Basic
   AuthUserFile /home/jhughes/.svn-auth-file
   Satisfy Any
   Require valid-user
</Location>

我花了几个小时才搞定,但还是搞不定。所以任何帮助我都会感激不尽,我一定会给别人点赞。

我没有使用代理服务器。我使用的是服务器的 IP 地址,因为我的服务器上有多个域,我认为这可能是一个问题。

答案1

Ops,也许我遗漏了一些东西,但如果你的位置是“/project1”,为什么访问http://IP地址/svn/

我只是将您的位置配置代码片段粘贴到这里(ubuntu karmic),创建 repo 和用户以及 authz 文件,然后这里的所有内容都在“http://IP地址/project1

您的.svn-auth-file 没有错误吗?

通过普通浏览器可以运行吗?

Apache 日志上发生了什么事?

答案2

我刚刚解决了相同的错误信息。事实证明,对于某些 svn 方法,区分 ServerName(必须是实际的服务器名称)和 ServerAlias(这是您选择的用于捕获您在 DNS 中设置的域和子域的名称)非常重要。

所以

<VirtualHost *:443>                                                             
    ServerName svn.mydomain.net   
    ...
 </VirtualHost> 

会给出错误:

svn: E175002: Unexpected HTTP status 405 'Method Not Allowed' on '/svn'

svn: E175002: Additional errors:
svn: E175002: PROPFIND request on '/svn' failed: 405 Method Not Allowed

但是如果您正确设置虚拟主机并且其 ServerName 与您的/etc/hostname/etc/hosts文件匹配,则错误将不再出现。

<VirtualHost *:443>                                                             
    ServerName mydomain.net                                                  
    ServerAlias svn.mydomain.net   
    ...
 </VirtualHost>  

相关内容