对不起,如果我在这里错误地发布了这个,我知道这个问题部分是关于 haproxy 本身的。
我正在将 haproxy 设置为我们需要通过 Internet 向客户公开的 API 前面的 SSL 终结器/负载平衡器。
该计划是使用相互(2 路)SSL/HTTPS 来验证双方的身份,因为 API 本身没有进一步的身份验证。除此之外,我们还将使用 IP 白名单。
现在客户给了我们一个双方都用于服务器和客户端证书的证书,这个证书是由一个“通用”CA (DigiCert) 签名的。虽然我理解从客户端的角度来看这很好,因为证书也与它正在访问的服务器的主机名进行比较,但是反过来似乎并不那么安全(至少不使用 haproxy)
按照我目前的理解,我必须告诉 HAProxy 使用“ca-file”指令信任由 Digicert 签名的证书,但是,没有办法告诉它除此之外它还需要是一个特定的客户端证书,因为我不想信任由 DigiCert 签名的所有客户端证书。
有没有办法用 HAProxy 做到这一点?如果不是,我想唯一的出路是为双方制作自签名的客户端证书并交换它们(或者更确切地说,证书签名请求,并让另一方签名)。
还是我对整个客户端证书概念的理解是错误的?