当SSL证书被撤销时,某些浏览器(包括现代证书)不会从服务器获取新证书,因此大约0.1%的客户端获得“撤销证书”错误页面并且他们无法访问安全服务。通过清除浏览器的缓存来解决客户端问题。然而,不是每个人都这样做。大多数人只是尽可能快地关闭页面,因为错误消息倾向于说“收到的数据的真实性无法验证”和“报告此破坏的网站”..
有没有办法配置HAProxy,它在Web服务器集群前面作为SSL卸载程序,允许使用“旧”证书建立连接,而所有协商和重新协商都使用“new” “证书?
P.S。此问题部分是由HAProxy SSL会话缓存引起的,这对我们的负载至关重要,因此无法禁用它。
答案 0 :(得分:1)
服务器的证书在每次完整握手内发送,证书的验证仅在收到证书时完成,并且是根据收到的证书完成的,而不是任何缓存的证书。但是,如果证书的指纹与他们之前在浏览器会话中收到的指纹不匹配,则可能会发生客户拒绝建立连接的情况。或者可能是,他们使用隐式证书固定(带有浏览器扩展名),它将检测新证书是否与先前收到的证书冲突并抱怨它。
你无能为力。在SSL握手开始时从客户端获得的只是ClientHello记录。这可能包含目标主机的名称(如果使用SNI),但没有关于客户端可能看到的任何旧证书的信息。这意味着服务器没有可以决定的信息,是否应该为同一主机名发送新证书或旧证书。