Given a setup with multiple SSL-terminating load-balancers in a failover configuration, is it a bad idea to have a unique TLS private key for each one of the hosts? They would all share the same FQDN.


Having the same key for several systems might be a bad idea because this necessarily means that the private key travelled between systems. The more a key travels, the less private it can be. It really depends on the context, in particular how far from each other the systems were during that moving key phase ("far" both physically and network-wise).

Giving each system its own private key and certificate is "safer" and will not induce any extra problem because SSL clients either don't remember the server's public key, or when they do they don't ask for it again. Speaking of which, for load-balancing between servers, you will want to share SSL sessions so that a client may reuse the result of a previous handshake for a new connection even if the load-balancer directed it to a new server instance (for Apache/mod_ssl, see the documentation, directive SSLSessionCache).

When each server has its own key, the server can generate it locally, and the private key never travels, which is good. The drawback is that each server will need its own specific certificate, so 20 servers imply 20 certificates. Your CA will love that; your wallet might disagree.

  • Well, depending on the setup. You could have one public CA key per load balancer and terminate the initial SSL connection there. Then on the hosts behind the balancer you could use your own private CA and issue certificates to each host individually. Unless, of course, I completely misunderstood the question. – Joshua Jul 19 '13 at 4:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.