突然,昨天,我的一台 apache 服务器无法连接到我的 LDAP (AD) 服务器。我在该服务器上运行了两个站点,当用户登录到任一站点时,这两个站点都使用 LDAP 对我的 AD 服务器进行身份验证。两天前它一直运行良好。由于未知原因,截至昨天,它停止工作。错误日志只说:
auth_ldap authenticate: user foo authentication failed; URI /FrontPage [LDAP: ldap_simple_bind_s() failed][Can't contact LDAP server], referer: http://mysite.com/
Run Code Online (Sandbox Code Playgroud)
我想也许我的自签名 SSL 证书已经过期,所以我为 mysite.com 创建了一个新证书,但不是为服务器主机名本身创建的,问题仍然存在。我启用了调试级别的日志记录。它显示了与 LDAP 服务器的完整 SSL 事务,直到最后我收到“无法联系 LDAP 服务器”消息时,它似乎都没有错误地完成。我可以在这台服务器上从命令行运行 ldapsearch,我可以登录它,它也使用 LDAP,所以我知道服务器可以连接和查询 LDAP/AD 服务器。只有apache无法连接。
谷歌搜索没有结果,所以我在这里问。任何人都可以提供有关此问题的见解吗?
这是 apache 配置中的 LDAP 部分:
<Directory "/web/wiki/">
Order allow,deny
Allow from all
AuthType Basic
AuthName "Login"
AuthBasicProvider ldap
AuthzLDAPAuthoritative off
#AuthBasicAuthoritative off
AuthLDAPUrl ldaps://domain.server.ip/dc=full,dc=context,dc=server,dc=name?sAMAccountName?sub
AuthLDAPBindDN cn=ldapbinduser,cn=Users,dc=full,dc=context,dc=server,dc=name
AuthLDAPBindPassword password
require valid-user
</Directory>
Run Code Online (Sandbox Code Playgroud)