SSLVerifyClient不能在目录上下文中工作

根据有关SSLVerifyClient的Apache文档 ,可以在目录上下文中定义它的值。 但是,以下configuration不起作用:

<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/projectApache不考虑require价值,但一直none

我的configuration有问题吗?还是与Apacheparsing规则有关?

谢谢

尝试将您的SSLCACertificateFile移出<Directory>块 – 目录不是该configuration的有效上下文。

在您的虚拟主机(比如<Location> )或者可能的.htaccess文件中是否还有其他configuration可以设置自己的SSLVerifyClient none ? 这些设置可能优先于目录块。

噢,我不确定这是否是SSLCACertificateFile的要求,但在正确的位置获得该configuration后,请执行完全重新启动(而不仅仅是重新加载)。 mod_ssl挑剔的重新加载新的证书文件。