当 SSLVerifyCLient 处于服务器级别时,我无法对其进行例外处理:
SSLVerifyClient require
SSLVerifyDepth 2
RequestHeader set SSL_CLIENT_VERIFY ""
<Location />
<If "-R '10.128.119.45/32'">
SSLVerifyClient none
</If>
SSLOptions +StdEnvVars ExportCertData OptRenegotiate
RequestHeader set SSL_CLIENT_S_DN_CN "%{SSL_CLIENT_S_DN_CN}s"
RequestHeader set SSL_CLIENT_I_DN_CN "%{SSL_CLIENT_I_DN_CN}s"
RequestHeader set SSL_CLIENT_CERT "%{SSL_CLIENT_CERT}s"
RequestHeader set SSL_CLIENT_VERIFY "%{SSL_CLIENT_VERIFY}s"
Require expr %{SSL_CLIENT_I_DN_CN} == 'Example Users Authentication' && ( %{SSL_CLIENT_S_DN_CN} == "user1" || %{SSL_CLIENT_S_DN_CN} == "user55" || %{SSL_CLIENT_S_DN_CN} == "user2" || %{SSL_CLIENT_S_DN_CN} == "user21575" || %{SSL_CLIENT_S_DN_CN} == "user3" || %{SSL_CLIENT_S_DN_CN} == "user4")
</Location>
异常被完全忽略:
curl:(35)NSS:未找到客户端证书(未指定昵称)
我想将“SSLVerifyClient 要求”保留在服务器级别,否则它会产生如下消息:
AH02261:重新协商握手失败
我尝试过:
<If "-R '10.128.119.45/32'">
SSLVerifyClient none
</If>
在位置之外没有运气......
我是否遗漏了什么?