• Sales: 1-800-961-2888
  • Support: 1-800-961-4454

SSL Termination on Cloud Load Balancers


What is SSL Termination?

SSL Termination is a new feature available for Cloud Load Balancers that allows for the termination of secure traffic at the load balancer once the load balancer is configured for it.  Without this feature enabled, secure traffic is decrypted only by the webserver which holds the SSL certificate.  With this feature enabled, customers can now balance SSL traffic over multiple Cloud Servers.  This can amount to a significant performance increase when dealing with high-volume SSL traffic.

 

How is SSL traffic normally handled?

Secure traffic comes in to your site over an encrypted SSL connection, and it must be decrypted by the webserver which holds the SSL certificate.  The Cloud Load Balancer passes all traffic directly to the Cloud Server with the corresponding SSL certificate, placing the burden of the decryption on that server alone.  This is because each device (Cloudserver or Cloud Load Balancer) handling traffic through an SSL connection requires either its own SSL certificate or a Licensed Certificate Option.  

 

What are the benefits of using SSL Termination on the Cloud Load Balancer?

With SSL Termination the traffic is decrypted at the Cloud Load Balancer, and unencrypted traffic can now be distributed to one or more Cloud Servers to be processed.

Other benefits include:

  • The ability to configure a load balancer that accepts both secure & unsecured traffic, or secure traffic only.
  • Can be a less expensive option compared to a dedicated F5 load balancer solution.
  • Another alternative to using HA Proxy with Cloud Servers.

 

Do Cloud Load Balancers Support SSL Termination?  

Yes, SSL Termination on Cloud Load Balancers is supported via the API.  SSL Termination allows users to have their secure traffic terminate at the load balancer with centralized certificate management. Features of this service include: SSL acceleration for improved throughput, reduced CPU load at the application level for better performance,  and HTTP/HTTPS session persistence.   SSL Termination should not be used when transferring certain types of Personally Identifiable Information (PII).    

 

What are the security concerns?

After  SSL Termination decrypts the data at the Cloud Load Balancer it passes the unencrypted data to any nodes that are configured for that device.  If you have nodes that are not in the same datacenter as the SSL-enabled load balancer, that unencrypted data will be sent over the public internet to those nodes.  Therefore we recommend you use an SSL-enabled load balancer only with nodes that reside in the same datacenter as the load balancer.  Their proximity allows the load balancer to use the nodes’ private IP addresses (the servicenet) to limit unencrypted traffic to within the datacenter’s network, as illustrated below.    

 

 

What is ServiceNet?

ServiceNet is an internal only, multi-tenant network connection within each Rackspace datacenter.  ServiceNet IPs are not accessible from the public Internet and are local per datacenter.  Rackspace customers may configure their account resources to utilize a ServiceNet IP address so that traffic over the internal network is not billed. 

 

 

Requirements

  • Additional fees apply when SSL Termination is enabled.
  • SSL Termination is available to Rackspace Cloud Load Balancer customers in the US and UK with a valid SSL certificate/intermediate certificate and associated private key.
  • SSL Termination cannot be enabled when a Cloud Load Balancer is provisioned, it must be configured on exisiting Load Balancers by issuing a command through the API.  Read our Developer's Guide to learn how to configure SSL Termination on an existing Cloud Load Balancer through the API.

 

 



© 2011-2013 Rackspace US, Inc.

Except where otherwise noted, content on this site is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License


See license specifics and DISCLAIMER

8 Comments

Please consider adding a sentence to the first paragraph which indicates the default setting for this feature. Thank you.

'Additional fees apply when SSL Termination is enabled.' - is there a document which outlines these additional fees?

The pricing info is in the Load Balancers product section of our main site:

http://www.rackspace.com/cloud/loadbalancers/pricing/

I'll get a link into the article pointing to that, apologies for the omission.

SSL termination is now available through the cloud control panel, not just the API, right?

Correct. Thanks for drawing attention to that, we'll plan on getting this article updated.

You can add SSL termination to an existing load balancer that isn't already using https by going to the load balancer details screen, clicking the pencil icon next to "SSL Traffic(SSL)", and adding the requested information.

Please don't make the same mistake I have and generate your private key using:

openssl genrsa -des3 -out go.crowdcontrolhq.com.key 2048

Now I have to buy a new certificate as rackspace doesn't support all RSA key types. :/

One trick when setting up ssl termination is for sites who want to have all traffic over ssl but do the termination at the load balancer. If you try to forward the incoming requests based on their protocol you will make a redirect loop because the incoming requests will never be on https.

So, instead you will need to forward requests where the X-Forwarded-Proto is not https. In Apache you can do:

RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

The the X-Forwarded-Proto (XFP) header has been added for identifying the originating protocol of an HTTP request as "http" or "https" depending on what protocol the client requested.

Add new comment