Run HAProxy on both Linux VPS instances, place a provider-supported floating or virtual IP in front of them, and use Keepalived (VRRP) to move that address when the active proxy fails. HAProxy then checks each application backend and sends traffic only to servers that pass their checks. This gives you proxy redundancy and backend load balancing, but it does not replicate databases, files, sessions, or in-flight TCP connections.
Antihost offers Linux VPS plans with full root access, unlimited traffic on a 1 Gbps port and a 14-day free trial.
The design is reliable only when your VPS network can move the service IP between nodes. Keepalived’s reference model assumes two hosts on the same Layer 2 network; many public VPS networks do not provide that. In those environments, use the provider’s floating-IP or failover API, or use health-checked DNS and accept slower, cache-dependent convergence.
As an Amazon Associate I earn from qualifying purchases.
Recommended Free Tools
What the two-VPS design actually does
There are two separate failure domains:
- Proxy failure: VPS A and VPS B both run HAProxy. One owns the service IP at a time. Keepalived monitors the active node and allows the standby to claim the address when the active node or its health script fails.
- Application failure: HAProxy checks every backend application server. A failed backend is removed from rotation; after the configured number of successful checks, it is eligible again.
A typical layout uses proxy A at 10.0.0.11, proxy B at 10.0.0.12, a service IP at 10.0.0.10, and application servers at 10.0.0.21 and 10.0.0.22. Those addresses are examples only. Use addresses from your provider’s private network or its floating-IP product.
| Component | Runs on | Purpose |
|---|---|---|
| HAProxy | Both proxy VPSs | Accepts HTTP, HTTPS, or TCP connections and balances them across healthy backends. |
| Keepalived | Both proxy VPSs | Uses VRRP and health scripts to decide which proxy owns the service IP. |
| Virtual or floating IP | Provider network | Stable destination used by DNS, firewalls, TLS listeners, and clients. |
| Application backends | One or more servers | Serve the actual game, web, API, or control-plane requests. |
Keepalived describes itself as providing frameworks for load balancing and high availability. HAProxy health checks ensure that only healthy servers remain in the balancing rotation. Together they solve different problems and should not be treated as interchangeable.
#1 Best Overall
- BLUE LIGHT BLOCKING GLASSES: Our blue light glasses for women boast UV400 protection, blocking harmful blue rays from computer screens. With these bluelight glasses women, you can enjoy gaming, reading, or watching TV with no worries of eye strain.
- EYE RELIEF: Our blue light glasses are engineered to reduce blurry vision or strain caused by prolonged screen time. These womens blue light glasses aid in better sleep by preventing blue light from disrupting your natural sleep cycle, helping you fall asleep faster and enjoy a more restful night's sleep, making them the perfect christmas present.
- COMFORTABLE: Crafted from durable material, our trendy blue light glasses for woman or blue light glasses men ensure long-lasting comfort. The high-transmittance lenses accessories, gamer gifts for men, help keep your eyes relaxed. Perfect stocking stuffers, gifts for gamers men, christmas gifts for men, halloween costumes.
- LIGHTWEIGHT: These clear blue light glasses feature a lightweight frame, meaning they’ll stay comfy for long-term wear. Perfect as blue blockers glasses for women or mens blue light glasses, these non-prescription fake glasses for men can be worn throughout the day. The blue light blocking glasses women feature polycarbonate HD lenses, which are anti-reflective and restore true color.
- WORRY-FREE PURCHASE: If you experience any issues, our support team is ready to assist you quickly. These are the perfect costume glasses for cosplay dressing up.
Choose the failover method before installing software
Floating IP or provider failover address
This is normally the cleanest option for VPS deployments. The provider exposes one movable address and an API, control-panel action, or agent that transfers it between instances. DNS remains pointed at that address, so a proxy failure does not require clients to discover a new hostname.
Confirm whether the address can move automatically, how long a move takes, which API credentials are required, and whether the provider permits both nodes to send and receive traffic for that address. Build the transfer action into your health-check design rather than assuming ordinary VRRP packets will work.
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Clear out junk files and repair common Windows errors3Fix the driver behind crashes, sound loss and screen glitchesVRRP with Keepalived
Keepalived’s standard VRRP setup expects both hosts on the same LAN. A private cloud network that supports the required virtual address and VRRP traffic can use this model directly. An arbitrary public VPS network may block multicast, reject a second machine using the address, or provide no Layer 2 neighbour behavior at all. In that case, use the provider’s failover mechanism instead of forcing a conventional VRRP configuration.
Health-checked DNS
DNS failover works across different providers and networks because each proxy can have its own public address. A DNS service removes an unhealthy address and returns the surviving one. Set a deliberately short TTL, but explain the limitation to stakeholders: recursive resolvers and client caches can continue using the old answer until their cache entry expires. DNS therefore converges more slowly and less predictably than a movable service IP.
| Method | Works across unrelated networks? | Client address changes? | Main limitation |
|---|---|---|---|
| VRRP virtual IP | Only when the network supports the model | No | Same-LAN and provider networking requirements. |
| Provider floating IP | Yes, if the provider supplies it | No | Provider API, permissions, and transfer time. |
| Health-checked DNS | Yes | Yes, after cache expiry | Recursive caches delay convergence. |
Prepare both VPS nodes
- Install a supported Linux distribution on both instances and give each a stable management address. Record the private addresses, public addresses, default routes, and the service IP or provider resource identifier.
- Verify that the provider supports either a movable address or the VRRP traffic and neighbour behavior required by your design. Do this before installing Keepalived.
- Apply security updates, set synchronized time, create an administrative account, and restrict SSH to your management sources.
- Allow only the listener ports you need, the backend ports from the proxy nodes, monitoring access, and the provider-specific control traffic required for failover. Keep the firewall policy identical on both nodes.
- Install the same HAProxy and Keepalived major versions on both nodes. Keep configuration files, certificates, ownership, permissions, firewall rules, and health-check scripts synchronized.
- Decide how configuration synchronization will work. Version control plus a controlled deployment is safer than ad-hoc copying. Never copy private keys into a world-readable directory.
On Debian or Ubuntu, the package installation is typically:
sudo apt update
sudo apt install haproxy keepalived
Package names and service-management commands differ on other distributions. Confirm the installed versions and syntax on both machines before making one node active.
PC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteRank #2
- WINDEX GAMING WIPES: effortlessly clean all your gaming gear and gaming electronics in one easy step with our new Windex Gaming Wipes
- AMMONIA FREE: our ammonia-free formula is safe to use on all of your favorite gaming equipment like consoles, headsets, controllers, screens, keyboards, and more
- PRE-MOISTENED WIPES: each wipe instantly removes dust, dirt, and stubborn smudges and fingerprints leaving a streak-free shine
- ANTI-STATIC: great for cleaning and wiping down your gaming gear and electronics leaving behind no visible residue
- COMPACT RESEALABLE PACKAGE: store your pack of Windex Gaming Wipes anywhere in your home for whenever a quick and easy wipedown is needed
Configure HAProxy to balance healthy backends
Define the global and default behavior
Start with a configuration that binds to the service address and sends traffic to an application pool. This HTTP example terminates TLS elsewhere; for end-to-end TLS or non-HTTP traffic, use a TCP mode frontend instead.
global
log /dev/log local0
log /dev/log local1 notice
maxconn 20000
defaults
mode http
log global
option httplog
timeout connect 5s
timeout client 30s
timeout server 30s
timeout check 5s
frontend app_http
bind 10.0.0.10:80
default_backend app_pool
backend app_pool
balance roundrobin
option httpchk GET /healthz
http-check expect status 200
server app1 10.0.0.21:8080 check fall 3 rise 5 inter 2s
server app2 10.0.0.22:8080 check fall 3 rise 5 inter 2s
Replace the example addresses, ports, and health path. If the service IP is not present during startup on your platform, bind to the appropriate local address or configure the provider integration so HAProxy can start safely on both nodes.
Choose Layer 7 or Layer 4 checks
An HTTP check such as GET /healthz tests an application response and can detect a process that accepts connections but cannot serve requests. Make the endpoint inexpensive and ensure it returns a failure status when required dependencies make the application unusable.
Use a TCP check when only port reachability is meaningful, such as a raw TCP service. A successful TCP handshake proves that something is listening; it does not prove that the application is ready or that a request would succeed.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Repair Windows errors before they cause bigger problemsFix Now →backend tcp_pool
mode tcp
balance leastconn
server node1 10.0.0.31:9000 check inter 2s fall 3 rise 5
server node2 10.0.0.32:9000 check inter 2s fall 3 rise 5
Set failure and recovery thresholds deliberately
inter 2s checks every two seconds in these examples. fall 3 requires three consecutive failures before a server is removed; rise 5 requires five consecutive successes before it returns. More aggressive values reduce detection time but make transient network errors more likely to cause a rotation. Higher values reduce false positives but prolong an outage. Choose them from your application’s recovery time and document the reasoning.
Validate before reloading:
sudo haproxy -c -f /etc/haproxy/haproxy.cfg
sudo systemctl reload haproxy
Run the validation on both nodes. A reload should preserve existing connections where possible, but a proxy process failure can still break connections that are in flight.
Rank #3
- Ergonomic & Adjustable Design: Fight "text neck" and improve your posture. Designed for comfort, it offers an adjustable height (7.1in-8.5in) (1.4in adjustable range) and angle (5°-85°) Please note: cell phone stand is only 9 inches tall—the length of a standard pencil
- Without blocking subtitles Perfect for office desk Tiktok Face Time Zoom video—this is the ultimate kitchen desk essential for phones! Perfect viewing experience while reducing neck back strain, A must-have for gamers streamers desk, and anyone who values both style and support!
- Sleek & Stable Design fits Otterbox Case: Say goodbye to bent cables, tangles, and tip-overs! LISEN’s stylish adjustable desk phone holder features a built-in charging hole and smart cable management, keeping your phone secure and your workspace clutter-free cool gadgets for men
- ANTI-SLIP DESIGN free hands: The under 10.00 items easy gadgets back and the bottom of this kitchen essentials for women are fully covered by anti-skid silicone, which LISEN stand up desk decor can provide maximum protection device from any scratches and slides
- Your Perfect Viewing Companion:If your product arrives damaged or breaks within 365 days, reach out to LISEN for a quick and hassle-free solution. Struggling with assembly, like tightening the screw? We’ve got your back! Your experience matters to us. (Product including: phone Holder stand*1, screw*1, hexagon screwdriver*1, specification*1)
Configure Keepalived to move the service IP
Create a health script
The active node should relinquish the address when HAProxy is stopped or when the local proxy path is unusable. A minimal script can test the service, but avoid a check that succeeds merely because a process exists.
#!/bin/sh
systemctl is-active --quiet haproxy || exit 1
curl --silent --fail --max-time 2 http://127.0.0.1/healthz >/dev/null || exit 1
exit 0
Save it with root ownership and executable permissions, then test both success and failure cases. If your proxy does not expose a local health URL, use a process check plus a configuration-validation command or another local signal that represents service readiness.
Use different priorities on the two nodes
The following is a conventional VRRP example. Use the interface name and service IP assigned by your network. The router_id must be unique per node, and the node intended to be active receives the higher priority.
global_defs {
router_id PROXY_A
}
vrrp_script chk_proxy {
script /usr/local/sbin/check-proxy.sh
interval 2
fall 3
rise 2
weight -30
}
vrrp_instance VI_APP {
state MASTER
interface eth0
virtual_router_id 51
priority 150
advert_int 1
authentication {
auth_type PASS
auth_pass change-this-value
}
virtual_ipaddress {
10.0.0.10/24
}
track_script {
chk_proxy
}
}
On proxy B, use a different router_id, set state BACKUP, and choose a lower priority such as 100. Keep the virtual router ID, interface, authentication, and virtual address consistent where the provider’s VRRP implementation requires it.
The priority penalty must be large enough for a failed health script to make the standby win, but not so large that a brief check failure causes unnecessary flapping. Keepalived can also react to lost advertisements, so test both script-triggered and heartbeat-triggered failover.
Start in a controlled order
- Stop or disable Keepalived on the intended standby while you validate the active node.
- Start HAProxy and confirm it is listening on the expected ports.
- Start Keepalived on the active node and verify that the service IP appears on the expected interface.
- Start Keepalived on the standby and confirm that it remains in backup state.
- Check system logs and neighbour or ARP state from another machine. Do not rely only on the local interface listing.
Never run two independent address-management mechanisms for the same service IP. A provider failover agent and local VRRP may fight each other unless the provider explicitly documents that combination.
The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Rank #4
- Easy Installation: Our gaming lights have been designed to enhance your entertainment experience. Simply position the led light bar next to your TV or game console to create a game room environment with ease. They come with USB power and a 60 inch cord for direct mounting and mobility
- Audio Syncing & Extensive Mode: The built-in high-sensitivity music sensor allows you to sync the TV led lights to your favorite music. Lights react and move to the beat of music, film and game audio, creating an incredible immersive sound and light experience – and all without the need for an additional hub. You can choose from 64+ patterns, including strobe, illusion, jump, energy, gradient, running, chasing, fluttering mode etc. Each mode can be applied to different scenes
- 64+ Chasing IC+RGB & W Effect: The independent control design of IC+RGB and white all-in-one multifunctional rgbw led bar lights monitor backlight allows you to easily switch the led lights for desk between IC+RGB and white to enjoy a variety of lighting effects, you can choose white lighting mode with high brightness for better illumination when working, etc. Choose IC+RGB lighting mode when you need to create an entertaining atmosphere for the light show, 16 million colours of Color changing rgb light bar let you dance to the beat and create a dynamic party atmosphere
- Dynamic and Dimmable Lights: 1%-full brightness free brightness adjustment gives you the flexibility to adjust dimmable led light bar for room decorations or a variety of occasions
- USB Powered: USB light bars for room can be powered by powernank, usb charger, TV, Monitor, laptop PC mainframe, making behind TV led lighting bar easy to install in any location.TV led lights are powered by the TV usb interface / PC mainframe, can be turned on/off synchronously with TV / PC
Point DNS, TLS, and firewalls at the stable endpoint
Create the DNS record for the service IP or provider floating-IP resource, not for one physical proxy address. Open the listener ports on both proxies because either node may become active. If TLS terminates at HAProxy, deploy the same certificate chain and private key to both nodes, keep renewal synchronized, and reload both proxies after renewal.
For a DNS failover design, publish both proxy addresses through the health-checked record and set the TTL to the shortest value your operational policy permits. Monitor what public resolvers actually return; a configured TTL is not a guarantee that every client will switch immediately.
Make application state safe for two proxies
Failover changes where new requests go; it does not copy application state. Use a shared or replicated database, durable object storage, or another explicitly replicated data service. Store sessions outside an individual proxy or application process when a user may land on either backend.
If the application cannot externalize state, configure deliberate session affinity only when the product supports it and understand that affinity is not a substitute for failover. A node loss can still discard sessions pinned to that node.
Design mutating requests to be idempotent where possible. A proxy failure after a backend accepted a request can leave the client unsure whether the operation completed. Client retry behavior, request IDs, and duplicate protection belong in the application protocol, not in Keepalived.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Active/standby versus active/active proxies
Active/standby with a shared IP
This is the simplest two-node operating model. One proxy receives all traffic and the other is ready to claim the address. Capacity planning is straightforward: the surviving node must handle the full peak load. You give up some normal-time capacity, but client addressing and failover behavior are easier to reason about.
Best Value
- Compatible with Wide Screens - To ensure compatibility with the dual monitor mount, your each monitor must meet three conditions at the same time: First, computer screens size range: 13 to 32 inches. Second, screen weight range: 4.4 to 19.8 lbs. Third, the back of the monitor screen must have VESA mounting holes with a pitch of 75x75mm or 100x100mm.
- Regarding the compatibility with desks - Your desk must meet three conditions at the same time: First, desk material: Only wooden desks are recommended, plastic or glass desks cannot be used. Second, desk thickness range: 0.59" - 3.54". Third, the bottom of the desk should not have any cross beams or panels, as this will interfere with installation. We recommend carefully checking that your desk and monitors meets all above conditions before purchasing.
- Dual C-Clamp Hold - Worried your dual monitors might wobble or slip? Our upgraded base uses a larger platform plus a dual C-clamp structure to lock the dual monitor arm firmly to your desk. Each arm safely keeps your screens steady while you type, click and game—no shaking, no sliding, just a clean and secure setup you can trust every day. It also provides Grommet Mounting installation choice, both options ensure stable and secure fixation for your 0.59" - 3.54" desk.
- Full-Motion Adjustment For Comfortable View - Pull the screen closer when you’re deep in a spreadsheet, push it back to watch videos, or rotate to portrait for coding — moving everything smoothly with just one hand. The monitor stand offers +85°/-50° tilt, ±90° swivel and 360° rotation. Raise your monitor up to 15.75″ to support a healthy sitting posture. Whether you’re working from home, gaming through the night, or switching between video calls and documents, getting the screens to your natural line of sight helps relieve neck, shoulder and back strain so you can stay focused longer with less fatigue.
- Keep Your Desk Organized: By lifting both screens off the desktop, this dual monitor stand opens up valuable space for your keyboard, notebook, docking station or a simple, clutter-free work area. Built-in cable management guides wires along the arms, keeping cords out of sight and out of the way. Enjoy a tidy, modern workstation that looks as good as it feels to use.
Active/active distribution
Both proxies receive traffic through DNS rotation, separate virtual IPs, or another distribution layer. HAProxy documentation describes active/active as multiple nodes receiving traffic in rotation. This can use both VPSs during normal operation, but each node must have enough capacity to absorb the other node’s traffic after a failure. Separate addresses also make connection draining, TLS deployment, observability, and DNS caching more complex.
Free tools Windows power users keep installed
One-click scans. No signup required.
| Operating model | Normal capacity | Failure behavior | Operational burden |
|---|---|---|---|
| Active/standby | One proxy carries traffic | Standby claims the shared address | Lower; requires movable-IP support. |
| Active/active | Both proxies carry traffic | Distribution removes the failed address or node | Higher; plan capacity and address convergence. |
Run a failure and recovery test
Schedule tests during a maintenance window and record timestamps, client observations, logs, and health-check state. Test from an external client as well as from the VPS network.
- Backend removal: Disable one application backend or its health endpoint. Confirm that HAProxy marks it down after the configured
fallcount and that new requests reach the remaining backend. - Backend recovery: Restore the backend. Confirm that it does not receive traffic until the configured
risecount of successful checks has completed. - Process failure: Stop HAProxy on the active proxy. Verify that the Keepalived script lowers its priority or exits and that the standby claims the service IP.
- Heartbeat failure: Stop Keepalived on the active node. Confirm that the standby takes over after the advertisement timeout.
- Host failure: Power off or isolate the active VPS. Confirm that the standby claims the address and accepts new connections.
- Client behavior: Keep a long-lived HTTP or TCP connection open during each test. Record which in-flight sessions break and verify that new connections recover through the surviving proxy.
- Network evidence: Inspect HAProxy and Keepalived logs, interface addresses, ARP or neighbour entries, DNS answers, backend status, and application logs.
- Return test: Restore the failed node while the standby is active. Confirm that priorities prevent an unexpected takeover, then perform a controlled failback if your operating policy requires it.
Do not declare success because a ping responds. The test must demonstrate that the real listener accepts new connections, the backend receives requests, and the client can reconnect after a proxy interruption.
Troubleshoot common failure modes
The virtual IP never appears
- Check that the interface name and address prefix match the provider network.
- Confirm that the provider permits a movable address or VRRP; a public routed network may not support a second node claiming the address.
- Inspect Keepalived logs for authentication, interface, or permission errors.
- Verify firewall and security-group rules for the provider’s required control traffic.
Both nodes claim the address
Split-brain usually indicates blocked or asymmetric advertisements, duplicate router settings, or two independent failover controllers. Remove the address from the unintended node, restore communication, and verify that only one mechanism manages ownership. Add monitoring that alerts when the service IP is visible on both nodes.
The standby takes over during brief network glitches
Increase the script’s failure threshold or check interval after measuring the transient, and investigate packet loss or overloaded hosts. Do not simply make thresholds large enough to hide a real outage; longer detection leaves clients on a failed node.
HAProxy reports every backend down
- Test the health URL locally from the proxy and from the proxy’s source address.
- Check that the application binds to the expected interface and port.
- Confirm firewall rules between proxy and backend.
- Check whether the endpoint requires a host header, authentication, or a path different from the configured check.
- Review the status code expected by
http-check expect.
DNS users still reach the failed proxy
That is expected when recursive caches have not expired. Check the authoritative answer and several public resolvers, then measure the actual convergence time. If fast failover is mandatory, move the service to a provider-supported floating address instead of relying on DNS alone.
Requests succeed but users lose sessions
Proxy failover does not preserve in-flight TCP connections, and a new backend may not have the old application session. Externalize session storage, replicate required state, make retries safe, or document the reconnect behavior as part of the client design.
Operate the pair after deployment
- Monitor service-IP ownership, Keepalived state, HAProxy process health, backend availability, check latency, connection counts, and error rates.
- Alert when the standby is not ready, when both nodes appear active, or when the active node has lost all healthy backends.
- Apply HAProxy and Keepalived updates to one node at a time. Keep the other node serving, validate the updated node, and then perform a controlled handoff.
- Retest certificates, firewall rules, health scripts, and provider API credentials after every infrastructure change.
- Repeat the complete failover runbook after kernel, network, VPS-plan, or application architecture changes.
- Keep configuration backups and a documented procedure for manually assigning the service address if the automation fails.
The practical boundary is clear: HAProxy protects request routing, while Keepalived or the provider network protects proxy ownership. Database replication, durable storage, session handling, retry semantics, and client reconnection must be designed separately.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.




