对于客户端身份验证,我的要求是对同一IP上的不同定位器URL使用不同的证书 .
例如:
当客户端连接到https://a.b.c.d/locatorA时,我想根据CA X签名的证书A对客户端进行身份验证,
如果客户端连接到https://a.b.c.d/locatorB,我想根据CA Y签名的证书B对客户端进行身份验证 .
此外,a.b.c.d上的任何其他URL都不需要客户端身份验证 .
要在locatorA和locatorB上启用客户端验证,我在locator指令中将SSLVerifyClient设置为true . 默认情况下,SSLVerifyClient设置为none .
但我面临的问题是如何指定将locatorA的证书A和locatorB的证书B使用 . 我尝试在locatorA和locatorB的locator指令中添加SSLCertificateFile,但apache表示配置错误 .
有没有办法可以根据URL的类型为同一台服务器上的不同URL提供不同的证书?
谢谢,Kowsik kowsik.tulabandual@gmail.com
1 回答
无法将不同的证书直接映射到同一主机下的URL .
通常,每个IP限制为1个证书 . 如果您实现了SNI,则可以在同一IP下将不同的证书映射到主机名 . 例如,您可以将证书A映射到主机
locatorA.example.com
.如果这有帮助,您还可以将
http://a.b.c.d/locatorA
和/或https://a.b.c.d/locatorA
(由公共证书X保护)重定向到https://locatorA.example.com/locatorA
(由证书A保护) .请注意,一些较旧的客户端不支持SNI .