突然,昨天,我的一台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/
我以为我的自签名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>