对于客户端身份验证,我的要求是对同一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表示配置错误。
有没有办法可以根据网址类型为同一台服务器上的不同网址提供不同的证书?
谢谢, Kowsik kowsik.tulabandual@gmail.com
答案 0 :(得分:0)
无法将不同的证书直接映射到同一主机下的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。