ディレクトリの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ファイルを使用)のみを使用すると、問題なく機能します。
結局のところ、これは「特別な場合」の問題でしたが、同様の問題を抱えている他の人を助けるために、私の調査結果を投稿します。
LDAPサーバーに無効なセキュリティ証明書があることが原因です。 Apacheは「障害のある」証明書をどう処理するかを知らなかったため、パニックに陥り、すべてを削除しました。 Apacheに障害のある証明書を無視させるには、httpd.conf
ファイルに次の行を配置します。
LDAPVerifyServerCert off
これを行うと、Apacheをすばやく再起動すると、私が探していた結果が得られました。