我的环境
- Apache 2.2
- Windows Server 2008 R2(我在 Windows 7 上也遇到了同样的问题)
- 乌龟SVN 1.8.7 Subversion 1.8.9
我有这个 SVN 服务器,它使用 Apache 通过 authz_svn_module 及其依赖项(mod_dav_svn.so 等)与 Active Directory 进行身份验证。身份验证部分通常工作正常,但如果我离开该字段用户名空,它会生成 500 内部服务器错误。
如果我尝试从 Web 浏览器登录,或者尝试执行svn 结帐。
它不会在 Apache 中生成条目日志/错误.log文件,但它在日志/access.log文件:
xxxx - “” [12/8/2014:11:00:10 -0300] “GET /svn/HTTP/1.1” 500 550
与我输入无效的用户/密码时相反:
xxxx - invalidu1 [12/Aug/2014:10:11:03 -0300] “GET /svn/HTTP/1.1” 401 401
我还注意到 500 错误来自我的 AD 服务器,而不是来自 127.0.0.1。有一台 Linux 服务器针对同一 AD 服务器为其 SVN 服务器执行身份验证,并且不存在此问题。
这是一个已知错误吗?如果不是,有什么方法可以在进行身份验证之前验证空用户名字段吗?
我的 httpd.conf SVN 条目如下所示:
目录 SVN路径 G:/mypath/to/svn/ SVNIndexXSLT “/svnindex.xsl” AuthType 基本版 AuthBasicProvider ldap 文件 AuthzSVNAccessFile G:\svn\svn_projects_permissions # 受保护区域或“领域”的名称 AuthName“SVN 项目” # Active Directory 需要身份验证 DN 才能访问记录 AuthLDAPBindDN“CN=a,OU=b,OU=c,OU=d,DC=e,DC=f,DC=com” # 这是 Active Directory 中 AuthLDAPBindDN 用户的密码 AuthLDAPBind密码“abcdefgijkl” LDAP 查询 URL # AuthLDAPURL “ldap://abcdef.gh.com/OU=COLAB,DC=c,DC=com?sAMAccountName?sub?(objectClass=*)” AuthLDAPURL “ldap://123.45.678.29/OU=abc,OU=dfe,DC=ghij,DC=ab-group,DC=com?sAMAccountName?sub?(objectClass=*)” 需要有效用户 AuthUserFile“G:\svn\svn_projects_passwords”