Назад | Перейти на главную страницу

SSLVerifyClient не работает в контексте каталога

В соответствии с Документация 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 привередлив в получении новых файлов сертификатов при перезагрузке.