我有apache2 httpd版本2.2.9在端口443上侦听SSLEngine。所有网址都有SSLVerifyClient require
,这样可以正常使用。
我想对特定网址(/ca.crt
)进行例外处理,以便我的客户可以下载我们签发的证书所签署的CA证书。我尝试以下方法:
SSLVerifyClient require
Alias /ca.crt /my/ssl/certs/ca.crt
<Location /ca.crt>
SSLVerifyClient none
</Location>
我的问题是Apache似乎只想增加SSL客户端证书要求的强度。如果我翻转这两个要求,它按指定的方式工作。如上所述,Apache实际上忽略了SSLVerifyClient none
指令。
发生了什么事?这是一个错误吗?
答案 0 :(得分:7)
好的,事实证明这个问题的答案在文档中(通常是!)
在每服务器上下文[SSLVerifyClient指令]适用于 使用的客户端身份验证过程 在标准SSL握手时a 建立联系。
基本上,第一个SSLVerifyClient
指令位于每个服务器上下文中。我为根目录做了一个明确的<Directory>
声明,并将SSLClientVerify require
指令放在那里。这就行了。