Você precisa mover a linha "SSLCACertificateFile /etc/apache2/ssl/leos.pem" fora da sub-rotina Location (coloque-a junto com o arquivo SSLCertificateFile). Se você já tiver um SSLCACertificateFile - por exemplo, usado para certificados SSL de uma empresa externa - e quiser adicionar uma CA auto-assinada para autenticação do lado do cliente, basta adicionar seu certificado de CA a esse arquivo (um único arquivo .crt pode tem - vários certificados).
Você ainda pode forçar apenas a verificação dos diretórios que deseja proteger.embora, com uma sub-rotina Location, como:
<LocationMatch "^/(admin|internal)($|/)">
SSLVerifyClient require
SSLVerifyDepth 1
SSLRequire ( %{SSL_CIPHER} !~ m/^(EXP|NULL)/ \
and %{SSL_CLIENT_I_DN_O} in {"CompanyName} \
and %{SSL_CLIENT_S_DN_OU} in {"OU1","OU2"} )
</LocationMatch>
Não vejo razão para que isso não funcione com a Localização, em vez da correspondência de local, mas não tentei isso. Eu uso a correspondência de localização porque a implementei no proxy.
Você também pode se livrar / alterar as linhas SSL_CLIENT_ * para corresponder ao seu certificado. Em um lugar onde trabalho, temos diferentes tipos de certificados para diferentes pessoas, com diferentes permissões - identificar a Unidade de Organização, juntamente com certificações apropriadas, permite diferentes permissões diferentes aos grupos - o que se traduz em acesso a diferentes locais.
Eu noto que o mesmo Contêiner de VM é usado por usuários finais sem um certificado - é claro que eles não podem acessar as partes com "SSLVerifyClient require".