为SSLVerifyClient require设置例外

问题描述 投票:4回答:1

我有apache2 httpd版本2.2.9,在启用SSLEngine的情况下在端口443上进行侦听。所有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指令。

发生了什么事?这是一个错误吗?

ssl apache2
1个回答
8
投票

确定,这个问题的答案在文档中(通常如此!)

在每服务器上下文中[SSLVerifyClient指令]适用于使用的客户端身份验证过程在标准SSL握手中建立连接。

See Apache Docs - SSLVerifyClient

基本上第一个SSLVerifyClient指令位于每个服务器的上下文中。我为根目录做了一个显式的<Directory>声明,并将SSLClientVerify require指令放在其中。这成功了。

© www.soinside.com 2019 - 2024. All rights reserved.