使用 authz_svn_module 进行身份验证且用户名字段为空时,Apache 500 内部服务器错误

使用 authz_svn_module 进行身份验证且用户名字段为空时,Apache 500 内部服务器错误

我的环境

  • 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”
    

相关内容