我有 SVN 服务器通过 HTTPS 在 Apache 下运行
这是我的服务器端配置,“/etc/httpd/conf.d/subversion.conf”:
<Location />
SSLRequireSSL
SSLCACertificatePath /etc/pki/CA
SSLCACertificateFile /etc/pki/CA/cacert.pem
SSLVerifyClient optional
SSLUserName SSL_CLIENT_S_DN_CN
SetOutputFilter DEFLATE
Satisfy Any
AuthBasicProvider file ldap
AuthzLDAPAuthoritative off
AuthType Basic
AuthName "SVN users enter password"
AuthLDAPURL ldap://ldap.exmaple.com:389/ou=employees,ou=people,o=example.com
AuthGroupFile /var/www/auth/group
AuthUserFile /var/www/auth/passwd
Require valid-user
</Location>
此配置在通过 HTTPS 结帐时接受 PKCS12 证书身份验证。
并在通过 HTTP 结帐时接受 LDAP 身份验证。
我现在的问题是,如果在通过 HTTPS 结帐时没有提供客户端证书 (PKCS12),我如何让 Apache 接受 LDAP 身份验证?
最佳答案
而不是为 Location/
配置 SSL 证书。
我为 Location/cert
子文件夹配置了 SSL 证书验证。
位置/
使用 LDAP 配置。
我的 subversion.conf 现在看起来像:
<Location />
AuthBasicProvider file ldap
AuthzLDAPAuthoritative off
AuthType Basic
AuthName "SVN users enter password"
AuthLDAPURL ldap://ldap.example.com:389/ou=employees,ou=people,o=example.com
AuthGroupFile /var/www/auth/group
AuthUserFile /var/www/auth/passwd
Require valid-user
</Location>
<Location /svn>
AuthBasicProvider file ldap
AuthzLDAPAuthoritative off
AuthType Basic
AuthName "SVN users enter password"
AuthLDAPURL ldap://ldap.example.com:389/ou=employees,ou=people,o=example.com
AuthGroupFile /var/www/auth/group
AuthUserFile /var/www/auth/passwd
Require valid-user
</Location>
<Location /cert>
DAV svn
SVNParentPath /var/www/html/svn/repos
AuthzSVNAccessfile /var/www/html/svn/authz
SSLRequireSSL
SSLCACertificatePath /etc/httpd/conf/keys/
SSLCACertificateFile /etc/httpd/conf/keys/stacked-pem.cer
SSLVerifyClient optional_no_ca
SSLUserName SSL_CLIENT_S_DN_CN
SetOutputFilter DEFLATE
Satisfy Any
</Location>
现在正在故障转移到 LDAP :)
关键是满足任何
关于apache - svn 无密码身份验证 - 使用 SSL 信任,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22862046/