间歇性问题 - ldap_start_tls_s() 失败,连接错误

间歇性问题 - ldap_start_tls_s() 失败,连接错误

我们遇到了这种性质的间歇性错误:

[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 上的日志吗?

相关内容