HTTPS health monitoring on rackspace cloud load balancer

healthcheckload balancingrackspacerackspace-cloud

I was using rackspace cloud load balancer to switch between two of my nodes. It was basically a active-passive setup in which the switch would take place in case primary node fails the http health monitoring. Everthing was working fine till I was using http port 80. (I basically had an apache as a proxy on the 2 nodes).

Later I decided to switch over from http to https port 443. However the https health monitoring detects both my nodes as unhealthy now. How do I debug this??

I have a *.example.com certificate configured on both the nodes in a particular virtual host for a particular servername abc.example.com .Is this issue related to certificate??

How do I debug this situation?

When I try switching everything over to http it works again, but I want to get this working over https.

Best Answer

When you create a Rackspace Cloud Load Balancer you configure the protocol and port to be balanced:

Creating a Cloud Load Balancer

Now you need to edit the configuration to support your new protocol (HTTPS). You have a couple of options:

Serving HTTPS directly from the servers

If you are serving HTTPS on port 443 from the servers themselves and just using the LB to pass the traffic, rather than offloading SSL to the LB, you need to edit the load balancer to use that port and protocol.

Editing a Cloud Load Balancer

You should also look at your node list for the node IP addresses and test from one node to the other to make sure your site is indeed reachable on the expected port.

Serving HTTPS from the Load Balancer

If instead of hosting your certificate directly on your servers you want to host it on the LB, set your protocol on the LB back to HTTP on port 80, and edit the Secure Traffic (SSL) setting in Optional Features:

Editing SSL settings on a Cloud Load Balancer

Your load balancer will cost a bit more if you do this, but it may also serve to solve your issue if you are having trouble configuring your servers to serve HTTPS over port 443 directly.