Features specific to HTTP(S) load balancing

Domain names

You need to specify at least one domain name to set up a load balancer instance in HTTP(S) (Layer 7) mode. The load balancer only processes requests to the configured domain names. HTTP/HTTPS requests with no domain name specified are dropped and the connection is closed.

SSL termination & forwarding rules

SSL termination relieves application servers of the burden of encrypting and decrypting traffic sent via SSL. A load balancer encrypts and decrypts traffic Instead.

Forwarding rules set how the traffic is forwarded from a load balancer to upstream servers. Each forwarding rule maps scheme, port and request path on a load balancer to scheme, port and request path on upstream servers. At least one forwarding rule is required.

  • Each rule that is using the HTTPS scheme on a load balancer adds €5.00 per month for the SSL Termination service.

  • The "Redirect HTTP to HTTPS" option is available when you have only one HTTPS (443) incoming rule.

Features specific to HTTP(S) load balancing

Session persistence ("sticky" sessions)

Session persistence is a mechanism to route requests from the same client to the same upstream server. It is enabled by default for all domain names.

Healthcheck URI

A load balancer instance will route requests only to healthy upstream servers. Load balancer expects HTTP 2xx/3xx response from a functioning upstream server at HTTP://[upstream-ip][/path]

Each upstream server is health checked every 5 seconds, approximately.

Healthcheck URI

Additional HTTP headers

To identifying the IP address of a client, the original host and the port requested by a client, a load balancer injects the following HTTP header fields into the HTTP request sent to an upstream server:

X-Forwarded-For The originating IP address of a client connecting to a web server through a load balancer. E.g.,
X-Forwarded-Host The domain name of the forwarded server. E.g.,
X-Forwarded-Port The port of the forwarded server. E.g., 443
X-Forwarded-Protocol The protocol of the forwarded server. E.g., https
X-SCLB-NodeID Load balancer node ID. E.g., s1599
X-SCLB-RequestID Nginx Request ID. E.g., bd438656d26a07981169ad4cbf56c0d2

Where SCLB stands for "Servers Com Load Balancer".

GeoIP headers injection

GeoIP service matches client's IP address against GeoIP database, and injects X-Geo header fields into the HTTP request sent to an upstream server.

User location can be used for content personalization, fraud detection, ad targeting, traffic analysis, compliance, etc. We use MaxMind GeoIP® databases to map client's IP to location. Basing on the client IP address, load balancer injects the following GeoIP header fields into the HTTP request sent to an upstream server:

X-SCLB-GEO-CITY-NAME City name, example: "Amsterdam", "Washington"
X-SCLB-GEO-POSTAL-CODE Postal code, example: 190000
X-SCLB-GEO-STATE-NAME USA state name, example: "Texas"
X-SCLB-GEO-STATE-CODE USA state code, example: "TX"
X-SCLB-GEO-AS-NUM Autonomous system number
X-SCLB-GEO-AS-ORG Autonomous system Organization
X-SCLB-GEO-COUNTRY-CODE 2 letter country code, example: "NL", "US"
X-SCLB-GEO-COUNTRY-NAME Country name, example: "Netherlands", "United States"


Suggested Articles

  • Load balancing

    How a load balancer instance is created and how it is billed

  • Load balancing

    What is Load Balancing and how it works