突然、昨日、私のApacheサーバーの1つがLDAP(AD)サーバーに接続できなくなりました。私はそのサーバーで2つのサイトを実行しています。どちらのサイトにもユーザーがログインするときに、どちらのサイトもLDAPを使用してADサーバーに対して認証します。2日前は問題なく動作していました。理由は不明ですが、昨日の時点で機能しなくなりました。エラーログはこれだけを言っています:
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を使用してldapsearchにログインできるため、サーバーが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>