突然,昨天,我的一台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=name AuthLDAPBindPassword password require valid-user </Directory>