В соответствии с Документация Apache о SSLVerifyClient, можно определить его значение в контексте Справочника. Однако следующая конфигурация не работает:
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
...
DocumentRoot /var/www/projects
SSLEngine on
SSLCipherSuite HIGH:MEDIUM:-SSLv2
SSLCertificateFile /etc/ssl/certs/dev.example.com_self.crt
SSLCertificateKeyFile /etc/ssl/private/dev.example.com_self.key
SSLVerifyClient none
SSLVerifyDepth 2
<Directory "/var/www/projects/projectA/">
SSLCACertificateFile "/etc/ssl/certs/ACRAIZ-SHA2.crt"
SSLVerifyClient require
</Directory>
...
</VirtualHost>
</IfModule>
Если я прошу https://example.com/projectX Значение none
установлен. Но если я попробую https://example.com/projectA Apache не принимает во внимание require
ценность, но сохраняет none
.
Что-то не так в моей конфигурации или это связано с правилами синтаксического анализа Apache?
Спасибо
Попробуйте переместить свой SSLCACertificateFile
вне <Directory>
block - каталог не является допустимым контекстом для этой конфигурации.
Есть ли на вашем vhost еще какой-нибудь конфиг (скажем, <Location>
) или возможно .htaccess
файлы, которые могут создавать свои собственные SSLVerifyClient none
? Эти настройки могут иметь приоритет над блоком каталога.
О, и я не уверен, что это требование для SSLCACertificateFile
, но сделайте полный перезапуск (а не просто перезагрузку) после того, как вы получите эту конфигурацию в нужном месте. mod_ssl привередлив в получении новых файлов сертификатов при перезагрузке.