Knowledge Base

    Features specific to HTTP(S) load balacing

    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.

    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.

    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-ForThe originating IP address of a client connecting to a web server through a load balancer. E.g.,
    X-Forwarded-HostThe domain name of the forwarded server. E.g., servers.com
    X-Forwarded-PortThe port of the forwarded server. E.g., 443
    X-Forwarded-ProtocolThe protocol of the forwarded server. E.g., https
    X-SCLB-NodeIDLoad balancer node ID. E.g., s1599
    X-SCLB-RequestIDNginx 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-NAMECity name, example: "Moscow", "Washington"
    X-SCLB-GEO-POSTAL-CODEPostal code, example: 190000
    X-SCLB-GEO-STATE-NAMEUSA state name, example: "Texas"
    X-SCLB-GEO-STATE-CODEUSA state code, example: "TX"
    X-SCLB-GEO-AS-NUMAutonomous system number
    X-SCLB-GEO-AS-ORGAutonomous system Organization
    X-SCLB-GEO-COUNTRY-CODE2 letter country code, example: "RU", "US"
    X-SCLB-GEO-COUNTRY-NAMECountry name, example: "Russian Federation", "United States"