我在使用SSLEngine的端口443上监听了apache2 httpd版本2.2.9。所有URL均具有SSLVerifyClient require
,并且可以正常工作。
我想对特定的URL(/ca.crt
)设置例外,以便我的客户可以下载与我们签发它们的证书签名的CA证书。我尝试以下方法:
SSLVerifyClient require
Alias /ca.crt /my/ssl/certs/ca.crt
<Location /ca.crt>
SSLVerifyClient none
</Location>
我的问题是,Apache似乎只想提高SSL客户端证书要求的强度。如果我同时满足这两个要求,它将按指定方式工作。按照上面的配置,Apache有效地忽略了
SSLVerifyClient none
指令。这是怎么回事?这是错误吗?
最佳答案
好的,事实证明,此问题的答案在文档中(通常如此!)
在每个服务器的上下文中,[SSLVerifyClient指令]适用于
使用的客户端身份验证过程
在标准SSL握手中
建立连接。
基本上,第一个SSLVerifyClient
指令位于每个服务器的上下文中。我为根目录做了一个明确的<Directory>
声明,并在其中放置了SSLClientVerify require
指令。这成功了。