我们遇到了这种性质的间歇性错误:
[Mon Mar 20 08:38:37 2017] [info] [client client_ip_here] [27056] auth_ldap authenticate: user [email protected] authentication failed; URI /path/to/project/trunk [LDAP: ldap_start_tls_s() failed][Connect error]
在 Apache 日志中:
197896-[Mon Mar 20 08:38:37 2017] [info] Initial (No.1) HTTPS request received for child 3 (server svn.server.com:443)
197897-[Mon Mar 20 08:38:37 2017] [debug] mod_authnz_ldap.c(432): [client client_ip_here] [27056] auth_ldap authenticate: using URL ldap://ldap.server.com/OU=Accounts,DC=AAA,DC=BBB,DC=CCC?mail
197901:[Mon Mar 20 08:38:37 2017] [info] [client client_ip_here] [27056] auth_ldap authenticate: user [email protected] authentication failed; URI /path/to/project/trunk [LDAP: ldap_start_tls_s() failed][Connect error]
Apache 配置:
<Location /svn/>
DAV svn
SVNListParentPath on
SVNParentPath /path/to/repositories
SVNIndexXSLT "/svnindex.xsl"
# SetEnv SVN_LOCALE_CHARSET "en_US.UTF-8"
SetEnv SVN_LOCALE_CHARSET "UTF-8"
AuthBasicProvider ldap file
AuthUserFile /path/to/svnfile.acl
AuthType Basic
AuthzLDAPAuthoritative off
AuthName "Login with full email (lowercase) and password / Utiliser votre courriel (minuscules) et mot de passe pour vous authentifier"
AuthLDAPBindDN "bind_dn_here"
AuthLDAPBindPassword "password_here"
AuthLDAPURL "ldap://ldap.server.com/OU=Accounts,DC=AAA,DC=BBB,DC=CCC?mail" TLS
AuthzSVNAccessFile /path/to/svnrepos.acl
require valid-user
</Location>
LDAP 配置文件:
RERERRALS off
TLS_CACERTDIR /etc/openldap/certs
TLS_REQCERT never
直到上周我们不得不更换 DC 之前,这个问题一直很稳定。在找到解决方案之前,解决办法是每半小时重启一次 Apache(或者当身份验证开始失败时重启一次)
显然,新 DC 的配置方式与另一个相同。不确定如何排除故障。我无法管理这个等式中的所有部分。
答案1
您可以尝试运行 ldapsearch 来模拟 Apache 在发现问题时所做的事情。如果您的问题阻止了所有用户,那么您绑定为哪个用户就无关紧要了。您还需要详细开关来查看是否能找到 starttls 失败的原因。
您可以尝试的另一个工具是“openssl s_client”,它可能会为您提供有关 starttls 对话的更多信息,并帮助您缩小原因范围。
查看过新 DC 上的日志吗?