![使用 apache 2.4 进行 LDAP 身份验证时出现内部错误 500](https://linux22.com/image/682315/%E4%BD%BF%E7%94%A8%20apache%202.4%20%E8%BF%9B%E8%A1%8C%20LDAP%20%E8%BA%AB%E4%BB%BD%E9%AA%8C%E8%AF%81%E6%97%B6%E5%87%BA%E7%8E%B0%E5%86%85%E9%83%A8%E9%94%99%E8%AF%AF%20500.png)
我有一台配置了 SVN 服务器的 CentOS 7 服务器,还有另一台安装了 LDAP 的 Windows Server 2012R2 服务器,我将其用作域控制器。我可以使用ldap搜索与 Windows 服务器通信。
嗯,我现在的问题是,当我尝试通过浏览器登录 svn 服务器时,无论我输入什么,都会出现内部错误(500)。
这是我的 ldap 配置/etc/httpd/conf.moudules.d/10-subversion.conf
:
Alias /svn /var/www
<Location />
DAV svn
SVNParentPath /var/www
AuthType Basic
LDAPReferrals Off
AuthBasicAuthoritative on
AuthBasicProvider ldap
AuthName "SVN Server Login"
AuthLDAPURL ldap://172.20.2.3:389/,dc=syd,dc=domain,dc=com?sAMAccountName?sub?(ObjectClass=*) NONE
AuthLDAPBindDN syd\admin
AuthLDAPBindPassword adminpassword
Require valid-user
</Location>
我收到了如下错误信息:
[Thu May 12 09:55:02.382284 2016] [authnz_ldap:info] [pid 9720] [client 172.19.12.2:61673] AH01695: auth_ldap authenticate: user a.b1 authentication failed; URI /repo [ldap_search_ext_s() for user failed][Invalid DN syntax]
任何帮助都将不胜感激。谢谢。
答案1
您的 AuthLDAPURL 中的基础看起来是错误的,在端口/斜线后面有一个逗号:
AuthLDAPURL ldap://172.20.2.3:389/,dc=syd,dc=domain,dc=com?sAMAccountName?sub?(ObjectClass=*) NONE
请尝试:
AuthLDAPURL ldap://172.20.2.3:389/dc=syd,dc=domain,dc=com?sAMAccountName?sub?(ObjectClass=*) NONE
但实际上,只需从Apache 文档
AuthLDAPBindDN [email protected]
AuthLDAPBindPassword password
AuthLDAPURL ldap://10.0.0.1:3268/?userPrincipalName?sub
如果希望用户仅使用登录名而不是 upn 登录,则可以使用 samaccountname 而不是 userPrincipalName。