Loadbalancer redirecting https requests to http

httpsload balancing

Our sys admin has set up a load-balancer that handles all HTTPS requests and proxies them to the server as HTTP. The server doesn't have HTTPS so the connection between LB and server is un-secure but the connection to the LB is.
I'd never seen something like that and I am not really sure it's the proper way to do it.
The actual server is not available publicly, only through the load-balancer.

  • Is this enough to make it secure? Could one bypass the load-balancer?

  • Is this a standard technique?

Best Answer

This is typically called 'SSL offloading' and is quite common in bigger setups. It reduces load on the back end servers, since many hardware loadbalancers have special crypto chips which can handle a lot of SSL traffic at high speed. Another benefit is that you have to store the SSL certificate and its private key only in one place, and will only need to replace it there when the certificate it's close to expiring.

One requirement to make it secure is that the nodes which are being loadbalanced aren't reachable any other way. Typically, these nodes are only connected on private IP addresses which aren't routed even within the network, so there's only a layer 2 (ethernet) network between the servers and load balancer, and no other way to connect to servers.

In some cases (for example hosting of PCI compliant setups) this won't be enough, so often SSL re-encryption is used there. In that case the connection between the load balancer and the servers is via SSL as well. The loadbalancer decrypts traffic coming from clients, does its magic (for example pick the right node to proxy traffic to, do some rewriting tricks, etc) and then encrypts it again on the connection to the backend server.