RENU Infrastructure
SERVING REQUEST Tue, 25 Aug 2026, 2026-08-25 11:51:36 EAT

High availability · backend tier

This response came from node 137-63-148-50.cprapid.com

Requests reach this cluster through a floating VIP held by a pair of controller nodes running Keepalived and HAProxy. HAProxy then routes the request into the cPanel backend tier, where 137-63-148-50.cprapid.com is the node that happened to answer this one. The backend tier is configured active–passive, so the other node only takes traffic if this one fails its health check.

Topology

as configured

Two tiers, not one. The VIP lives on the controller tier — never on a cPanel node directly. HAProxy on the controller that owns the VIP decides which backend serves each request.

Controller tier · Keepalived + HAProxy Backend tier · cPanel CLIENT VIP not configured CTRL-A · HOLDS VIP ctrl-a.renu.example CTRL-B · STANDBY ctrl-b.renu.example haproxy routes THIS NODE · SERVING 137-63-148-50.cprapid.com PEER · STANDBY name not configured response returns over the same path
request path
currently active
standby / not taking traffic

Request path

7 hops

The literal sequence a single request follows, in order.

01

DNS resolves to the VIP

The application's hostname resolves to the floating VIP — never to a specific controller or cPanel node.

02

VIP is answered by whichever controller holds it

Keepalived elects one controller to hold the VIP at a time via VRRP. The client only ever sees one address.

03

HAProxy picks a backendrouting decision happens here

HAProxy on the VIP-holding controller health-checks both cPanel nodes and routes the request to one of them — this is the only load-balancing decision in the chain.

04

Apache on the chosen node accepts the connection

The receiving cPanel node's Apache matches the request to the correct virtual host and document root.

05

PHP executes

This script runs, reading whatever it needs from local or shared storage.

06

Shared state stays consistent

Home directories and mail/database state are replicated between cPanel nodes, so either node can serve the same account.

07

Response returns the same way it came

Backend node → controller → VIP → client. The client never learns which physical node answered.

This node

read at request time
Hostname137-63-148-50.cprapid.com
Server IP137.63.148.50
Server nameapp07.school.sys.renu.ac.ug
Web serverApache
Operating systemLinux 5.14.0-611.5.1.el9_7.x86_64
PHP version8.2.33
Client IP137.63.148.184
Request time2026-08-25 11:51:36 EAT

Backend health

unavailable
No live backend health data. Set haproxy_stats_url in the config block at the top of this file (or the HAPROXY_STATS_URL environment variable) to a reachable HAProxy CSV stats endpoint, for example http://ctrl-a.renu.example:8404/haproxy?stats;csv, to pull real UP/DOWN state for both cPanel nodes here.