web-dev-qa-db-ja.com

ApacheLDAPS認証

ディレクトリのLDAPS認証を設定するのに苦労しています/var/svn

これが私がApache用に持っている設定ファイルです:

LDAPTrustedGlobalCert CERT_BASE64 /etc/openldap/cacerts/Cert.pem

<VirtualHost *:80>
  ServerName myserver.com
  DocumentRoot /var/www
  <Location /svn>
    DAV svn
    SVNParentPath /var/svn
    AuthType Basic
    AuthBasicProvider ldap
    AuthLDAPBindDN "mybind_dn"
    AuthLDAPBindPassword "mypassword"
    AuthLDAPURL "ldaps://my_ldap_server:636/credentials"
    AuthName "Authorized Personnel Only"
    Require valid-user
  </Locaion>
</VirtualHost>

「myserver.com/svn」にアクセスしようとすると、「内部サーバーエラー」(500)が表示され、エラーログに何も表示されません。 LDAPSがオペレーティングシステムレベルで機能していることを知っているので(これを確認するテストスクリプトがあります)、本当に途方に暮れています。

何か案は?


編集:LDAP認証を省略し、基本認証(.htpasswdファイルを使用)のみを使用すると、問題なく機能します。

2
nuclearpenguin

結局のところ、これは「特別な場合」の問題でしたが、同様の問題を抱えている他の人を助けるために、私の調査結果を投稿します。

LDAPサーバーに無効なセキュリティ証明書があることが原因です。 Apacheは「障害のある」証明書をどう処理するかを知らなかったため、パニックに陥り、すべてを削除しました。 Apacheに障害のある証明書を無視させるには、httpd.confファイルに次の行を配置します。

 LDAPVerifyServerCert off

これを行うと、Apacheをすばやく再起動すると、私が探していた結果が得られました。

3
nuclearpenguin