Apache配置为同一台服务器上的不同定位器使用不同的证书
问题描述:
对于客户端认证,我的要求是对同一IP上的不同定位器URL使用不同的证书。Apache配置为同一台服务器上的不同定位器使用不同的证书
例如:
当客户端连接到https://a.b.c.d/locatorA,我要验证对证书A中的客户端,通过CA X签署,
如果一个客户端连接到https://a.b.c.d/locatorB,我想验证客户端针对证书B,由CA Y签名。
还有其他任何关于abcd的URL,客户端认证是不需要的。
要在locatorA和locatorB上启用客户端验证,我在locator伪指令中将SSLVerifyClient设置为true。默认情况下,SSLVerifyClient设置为none。
但我面临的问题是如何指定使用证书A的locatorA和证书B的locatorB。我尝试在locatorA和locatorB的locator指令中添加SSLCertificateFile,但是apache表示配置错误。
有没有一种方法可以根据URL类型为同一服务器上的不同URL颁发不同的证书?
谢谢, Kowsik [email protected]
答
这是不可能在同一主机下直接映射不同的证书到URL。
通常情况下,您仅限于每个IP一个证书。如果您实施了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。