hoopycat wrote:
It should be doable in "dumb" mode, with TCP load balancing of port 443. Being able to intelligently handle the traffic would amount to a MITM "attack," with the load balancer needing to present a valid and signed certificate for the request. Ideally, it would then open a HTTPS session to the backend and check its certificate for validity before bridging the traffic.
Yeah, that's a good point. Of course, with TCP balancing you lose some of the HTTP-specific benefits like the forwarded host info, and cookie based stickiness.
But yes, I was more thinking of your second point, where you configure your certificate/key in the balancer, and then it becomes the termination of the HTTPS session, but then regular HTTP to the back-ends. I suppose you could have a second HTTPS hop, but I'm not sure of the point (providing I can filter by balancer private address(es)), given that both the balancer and back-end nodes are in the same DC, communicate over the internal network, and both balancer and back-ends are under the same administrative control.
Quote:
This is doable, but a little creepy. Definitely would require a lot more configuration, interaction, and integration testing.
Having the balancer be your SSL endpoint doesn't seem especially creepy. Configuration would basically be a new connection type and ability to upload a certificate chain and private key. I expect supporting SSL connections themselves ought not to be much of a hurdle, though there's an argument to be made for where best to have the SSL overhead (as this will place more CPU burden on the balancer).
After all, the balancer is a resource - clearly modeled similarly to Linodes themselves - on your account. I'm assuming that any certificate/key management would be secure in the balancer cluster, but in practical terms can't imagine it would be any less secure than local Linode standard filesystems.
-- David