Capability by capability
We come second out of four, and we publish it anyway
This is the same table the product ships on its own Feature Comparison page. Thirty nine capabilities against NGINX Plus, Kemp LoadMaster and HAProxy ALOHA, including the things the paid products do not do. Eighteen rows go against us. Every one says why.
#1
140
HAProxy ALOHA
An appliance on the HAProxy Enterprise engine
#2
138
Failover LB
This project, running free nginx underneath
#3
130
NGINX Plus
The paid build of the same nginx we run
#4
128
Kemp LoadMaster
An appliance with its own stack
39 rows, 195 stars available. 13 ahead of all three, 20 behind at least one, 6 level.
Treat every number as our opinion, not a measurement
We are scoring ourselves against three competitors, which is not a neutral position and pretending otherwise would be worse than saying it. What we can offer is the reasoning: each row says why it scored what it did, so you can disagree with the argument rather than with the star.
Adding up stars is the crudest reading there is
It says a request queue and a support contract weigh the same, and they do not. It says packaged video streaming is worth exactly one row, when for the people who need it that row decides the whole question.
One thing worth knowing about how this total can be moved
Backup and restore used to be a single row and is now three, because taking a copy, what is in the copy, and what you can do with it later are genuinely different jobs. That change alone moved us up seven stars and moved Kemp up six.
Splitting a category is the oldest way to tilt a table like this, and the person doing the splitting was us, so it is said here rather than left for somebody to notice. It could as easily have been six rows. It is three because backing up should not outweigh load balancing on a page about load balancers.
How to read the stars
| ★★★★★ | Not offered at all. |
| ★★★★★ | Possible, but you are building it yourself. |
| ★★★★★ | There, and you will feel the gap. |
| ★★★★★ | Does the job. |
| ★★★★★ | Does the job well. |
| ★★★★★ | As good as this gets. |
Rows where everybody scores five are usually work the free engine does, and saying so is more useful than leaving them out to flatter the table. Instance Manager, NGINX One, App Protect, LoadMaster 360 and HAProxy Fusion are separate products with separate prices, so they are named in the notes rather than counted as part of the product they sit beside.
The two appliance columns were scored in August 2026 from vendor documentation, release notes and datasheets. Both products move, so those scores are a reading of what was published that day and nothing stronger. Where we could not confirm something either way, the score is one star and the note says we could not confirm it. A one that admits we do not know is more use than a zero that pretends we do.
Support
| Capability | HAProxy ALOHA | Failover LB | NGINX Plus | Kemp LoadMaster | Why |
|---|---|---|---|---|---|
| Somebody to call | ★★★★★ |
★★★★★ behind |
★★★★★ | ★★★★★ |
First row on the page, and the one we lose worst. Plus comes with F5 support and an SLA: a number to ring at three in the morning and somebody contractually obliged to answer. This is a project on a box, and when it breaks the person fixing it is you. If that matters where you work it matters more than every other row put together, and no amount of features below changes it. Both appliance vendors sell support with the box and both are well regarded for it. Kemp runs tiers, with 24x7 premium cover on the higher plans. HAProxy do not run tiers at all: your ticket goes straight to an engineer, and the enterprise subscription carries a thirty minute target on a critical issue. We have nothing, and adding two more columns has only made that clearer.
|
TLS and certificates
| Capability | HAProxy ALOHA | Failover LB | NGINX Plus | Kemp LoadMaster | Why |
|---|---|---|---|---|---|
| TLS termination, stapling, session cache | ★★★★★ |
★★★★★ behind |
★★★★★ | ★★★★★ |
Free nginx, both sides. Nothing to choose between them, and what we do with a current OpenSSL is its own row below. Terminating TLS is the reason both appliances exist. Kemp and ALOHA both do it at line rate with hardware behind it on the physical units. Four ways of doing the same job well.
|
| Post quantum key exchange | ★★★★★ |
★★★★★ ahead |
★★★★★ | ★★★★★ |
Harvest now, decrypt later is the reason this matters before anybody has a quantum computer: traffic captured today is decrypted whenever one arrives. We build against OpenSSL 3.5, so X25519MLKEM768 is there, and the shipped TLS snippet offers it first with classic curves behind it, so a site gets it without anybody knowing to ask. F5 have been adding this to recent releases, so the honest gap is not whether Plus can but whether the build you have does and whether somebody configured the groups. Building our own TLS stack is a cost in every other row and it buys this one. ALOHA moved its TLS stack to AWS-LC, and HAProxy Enterprise 3.2 and later offer X25519MLKEM768 with a fall back to the classic curves for older clients. That is a real answer and it is four rather than five only because you take what the firmware ships with. For Kemp we could find nothing published either way, which is why this is a 1 and not a 0. On an appliance that matters more than it does for us: you cannot rebuild it yourself, so you get what arrives.
|
| Certificate lifecycle, end to end | ★★★★★ |
★★★★★ ahead |
★★★★★ | ★★★★★ |
nginx has gained a native ACME module, and it issues certificates. What is rated here is the rest of the job: issuing from whichever node owns the address, replicating to the others, renewing on a schedule, staging first, DNS-01 where HTTP-01 will not do, and degrading to the old certificate rather than freezing the fleet when something goes wrong. Kemp is the strong one here. There has been a built in ACME client since firmware 7.2.53, it creates the service that answers the challenge for you, and it renews on its own. Four rather than five because it validates over HTTP-01 only, and HTTP-01 cannot issue a wildcard or cover a name that is not reachable from the internet. ALOHA is the weak one: HAProxy itself gained ACME recently and the ALOHA release notes do not carry it yet, so on the appliance this is still a certificate you fetch elsewhere and upload.
|
| Certificates from a paid authority | ★★★★★ |
★★★★★ ahead |
★★★★★ | ★★★★★ |
Neither product is a certificate manager, but we became one: authorities are profiles with their own credentials, several can be in use at once, and a certificate renews from the authority that issued it rather than quietly from somewhere else in sixty days. Kemp supports DigiCert alongside Let's Encrypt and has a certificate console in LoadMaster 360, though that console is the separate subscription rather than the box. On ALOHA you upload the file and remember the renewal date yourself.
|
Load balancing
| Capability | HAProxy ALOHA | Failover LB | NGINX Plus | Kemp LoadMaster | Why |
|---|---|---|---|---|---|
| Round robin, least connections, hashing | ★★★★★ | ★★★★★ | ★★★★★ | ★★★★★ |
The same nginx underneath, so there is nothing to choose between them. Most of what either product does for a living is here, and it is free in both. All four do this and all four do it well. Kemp adds resource based and fixed weighting on top; ALOHA has both the HAProxy algorithms at layer 7 and the LVS ones at layer 4, including maglev hashing. Nobody wins a row like this.
|
| Least time balancing | ★★★★★ |
★★★★★ behind |
★★★★★ | ★★★★★ |
Also understated until the code was read. Plus picks the fastest backend per request. We time every health check already, so a pool can be set to lean weights toward the quicker boxes, with two rails: weights move one step at a time between a floor and a ceiling so one slow check cannot pull a server out, and if everything is slow it leaves them alone, because that means the problem is downstream and shuffling weights would pile load onto whichever box is least broken. Four, not five: ours reacts per check interval, Plus per request. Neither appliance balances on response time as such. Kemp has resource based scheduling, which asks each real server for a number describing how loaded it is, so the server has to be told to publish one. HAProxy has no least time algorithm at all; least connections is the usual stand in and it is a good one. Three each for doing the job by a different route.
|
| Sticky sessions | ★★★★★ |
★★★★★ behind |
★★★★★ | ★★★★★ |
Plus issues its own cookie, so it works whatever the application does. We hash a cookie the application already sets, which is as good when there is one, or hash the client address when there is not, and that sends a whole office behind one NAT to a single backend. A row we lose to everybody, and it is worth saying so twice. Kemp has a long list of persistence methods including its own inserted cookie. HAProxy inserts its own cookie and keeps stick tables that can key on almost anything and are shared across the cluster. Three of the four issue their own cookie; we do not.
|
| Slow start after recovery | ★★★★★ |
★★★★★ behind |
★★★★★ | ★★★★★ |
This row said two until somebody read the code. It is built and has been for a while: turn it on for a pool, and a member that comes back returns at weight 1 and climbs to its real weight in five steps over a window you choose. The reason it matters is a JVM with a cold JIT and an empty connection pool being handed a third of the traffic the instant it answers a health check, falling over again, and flapping, which is worse than it having stayed down. Four rather than five because each step is a reload, where Plus ramps inside the worker. HAProxy has a per server slowstart setting that ramps inside the process, which is as good as this gets. Kemp throttles connections per second to a recovered server and grows the limit over a window, which is the same idea, but the setting is global and only applies to the least connection schedulers.
|
| Request queueing | ★★★★★ |
★★★★★ behind |
★★★★★ | ★★★★★ |
Plus queues on the thing that matters, which is every backend being busy: at the connection limit we give a 502 rather than waiting, and there is no fixing that from out here. One at rather than nought because rate limiting with a burst does queue. Excess requests are delayed rather than refused unless you tick serve burst immediately, so load can be shaped before it reaches the limit. It queues on arrival rate, not on how busy the backends are, and those are different questions. This is one of the best things HAProxy does and ALOHA gets all of it: a per server connection limit, a real queue in front of it, a queue timeout, and the queue depth on the stats page so you can see it filling. It is the clearest single win against us on the page. Kemp rate limits a real server and takes it out of rotation when the limit is hit, which protects the server without holding the request.
|
| TCP and UDP proxying | ★★★★★ | ★★★★★ | ★★★★★ | ★★★★★ |
The stream module is free. Both get it, and ours is driven from a page rather than a config file. Both appliances do layer 4 properly. ALOHA runs LVS alongside HAProxy, so it also does direct server return, where the reply skips the load balancer entirely. Neither we nor Plus can do that.
|
Health and resilience
| Capability | HAProxy ALOHA | Failover LB | NGINX Plus | Kemp LoadMaster | Why |
|---|---|---|---|---|---|
| Active health checks | ★★★★★ |
★★★★★ behind |
★★★★★ | ★★★★★ |
Plus probes from inside nginx, so it reacts in the worker that is about to route the request. We probe from the manager on a schedule and rewrite the upstream, so reaction is a check interval plus a reload rather than immediate. Two things ours does that Plus does not: it checks from every node rather than one, and it refuses to mark the last healthy backend down, so a broken check cannot empty a pool. Both appliances check from inside the data path and take a server out without rewriting anything, which is the right way round. Kemp has a long list of check types built for the applications it is usually put in front of. Ours keeps the two habits above, and those are worth something, but not enough to move this row.
|
| Passive health checks | ★★★★★ | ★★★★★ | ★★★★★ | ★★★★★ |
max_fails and fail_timeout are free nginx. Identical. HAProxy watches live traffic for errors and can pull a server on what it sees rather than only on what it probes. Kemp leans harder on active checks, which is a design choice more than a gap.
|
| Load balancer failover | ★★★★★ |
★★★★★ ahead |
★★★★★ | ★★★★★ |
Plus ships a keepalived package, which works and is configured in files on each box. Ours is built in: election with a quorum rule, a standby that refuses to promote itself when it cannot see a majority, and the whole thing visible on a page. The quorum rule is the part that matters, because the failure it prevents is two nodes both deciding they are active. Both appliances do this well and have done for years. Kemp pairs two units with CARP; ALOHA clusters with VRRP and will run active with active as well as active with standby, which we will not. Four rather than five for the same reason in both cases: a two node pair reasons about the peer it can see, and that is the split brain problem the quorum rule exists to answer.
|
| Config tested on every node before any node applies | ★★★★★ |
★★★★★ ahead |
★★★★★ | ★★★★★ |
The one we would keep if we could only keep one. A change is staged and tested on every node, and applied nowhere unless it passed everywhere. Plus has nothing here; Instance Manager, sold separately, can validate config, and that is still not the same as an all or nothing fleet apply. Nobody else on this page does it either, which is the surprise. Kemp applies a change to the unit you are logged into. On ALOHA the configuration sync between cluster members is a manual push, one service at a time, and changes are not even saved to disk unless you save them, so a reboot can undo an afternoon. This row is our clearest win on the page and it is against all three.
|
Security
| Capability | HAProxy ALOHA | Failover LB | NGINX Plus | Kemp LoadMaster | Why |
|---|---|---|---|---|---|
| Web application firewall | ★★★★★ |
★★★★★ behind |
★★★★★ | ★★★★★ |
F5's App Protect is a serious WAF and a separate purchase, and it covers ground we do not: bot defense, API security, signature feeds. That is why this is four and not five. This note used to claim that hardly anything off the shelf learns, and that was too strong. All three of the others have a detection only mode and a way to turn what fired into an exclusion, which is the same shape as our watching mode. Correcting it is worth more than the sentence it cost. What is actually different here is narrower and it is about **whose traffic the allowed list is built from.** Put a site in watching, name the addresses your testers work from, exercise the application properly, and what fired for those addresses becomes a list you tick and save as a named profile reusable across sites. Only traffic from a vouched-for address can be whitelisted at all, and a rule a stranger also tripped during the window is held back as mixed rather than averaged into looking safe. So somebody scanning you in the middle of a test session cannot get their probes permanently excused, which is the failure ordinary tuning invites: you are excusing whatever fired, and you do not always know who made it fire. Worth knowing about the one on this page that goes furthest. F5 do have a real policy builder that watches an application and proposes a positive model, and it is in BIG-IP Advanced WAF rather than here: F5's own conversion notes say traffic learning, policy building and staging are not supported in App Protect. So the thing people assume they are buying with the F5 name is in the other product. ALOHA has the best WAF on this page and we should say so. It carries its own engine rather than plain rule matching, supports OWASP CRS 4, lets you build named WAF profiles and apply a different one per application, and sells a bot module and a threat detection engine beside it. It also has a non blocking learning mode for exactly this job, and publishes a false positive rate at paranoia 2 far below plain ModSecurity, which is the number that decides whether anybody leaves a WAF switched on. Kemp runs the same ModSecurity and OWASP rules we do, adds a paid feed for IP reputation and web shells, and has block and log only modes with a tuning screen that lists the false positives it recorded and writes exclusions from them, including excluding one rule against one parameter. So learning is not the differentiator; all three learn. The differentiator is that theirs learn from whatever arrived and ours only learns from addresses somebody named in advance. That is one design decision, not a category, and it is the only part of this row worth claiming. Both appliances need the higher tier before the WAF turns on at all, which is a cost their star does not show.
|
| JWT validation at the proxy | ★★★★★ |
★★★★★ behind |
★★★★★ | ★★★★★ |
Plus validates the token itself. We use auth_request, which is free and works for any scheme, and which means you write and run a small service. That is a real piece of work, not a setting. HAProxy can verify a signed token in its own configuration language, so ALOHA gets this without a helper service. Kemp reaches the same end through its authentication pack, which is built around signing users in rather than checking a token an API client already holds.
|
| OIDC sign in for proxied applications | ★★★★★ |
★★★★★ behind |
★★★★★ | ★★★★★ |
Worth separating carefully. Plus can put an OIDC login in front of an application it proxies. We sign **admins** in to this GUI with OIDC, which is a different thing, and we do nothing for the traffic passing through. This is the row Kemp wins outright, and it is the reason a lot of people buy one. The Edge Security Pack puts a login in front of any application it publishes, against Active Directory, LDAP, RADIUS, SAML or OIDC, and carries the session across every service on the box. ALOHA does Kerberos and SAML sign on. We do none of it for proxied traffic and there is no honest way to dress that up.
|
| Blocking by country | ★★★★★ |
★★★★★ ahead |
★★★★★ | ★★★★★ |
The geoip2 module is free for both. The work is the database: getting one, putting it on every node, and keeping it current, which we do from a page on a schedule. With Plus that is yours to arrange. Both appliances ship the location database as part of the firmware, which is a tidy answer: nothing to download and nothing to schedule. Kemp aims its location features at steering traffic to the nearest site more than at shutting a country out, and does both. Four each, and the half step we keep is that our database updates on its own schedule rather than waiting for a firmware release.
|
| Allow and deny lists, basic auth | ★★★★★ | ★★★★★ | ★★★★★ | ★★★★★ |
Free nginx, and equal on capability, which is why this stays five and five however tempting the alternative is. allow and deny per location is plain nginx; both products have it. Ours are reusable objects rather than lines repeated per server block, and they attach to a single path as readily as to a whole site, so locking a login page to nine addresses is a list and a tick. That is a real difference and it is already counted, one row down, as managing the thing from a browser. Counting it twice is how a table written by one of the two products stops being worth reading. Both appliances have address lists and both let you attach one to a published service. ALOHA writes them as HAProxy rules, which can match on nearly anything. Five all round, for the same reason as above: this is a capability every serious product has, and the difference is in the shape of the screen, not in what the traffic sees.
|
| Admin accounts, roles, two factor, audit log | ★★★★★ |
★★★★★ ahead |
★★★★★ | ★★★★★ |
Plus has no administrative interface to secure, so this is not a gap in it so much as a thing it does not have. Ours has roles, TOTP, lockout, and an audit log with secrets scrubbed. Instance Manager is where F5 put this, separately. Both appliances have this because both are things you log in to. Kemp has user accounts with permissions, change auditing, and can hand sign in off to your directory. ALOHA has accounts on its interface but publishes less about roles and audit trails, so it scores lower on what we could read rather than on anything we found missing.
|
Observability
| Capability | HAProxy ALOHA | Failover LB | NGINX Plus | Kemp LoadMaster | Why |
|---|---|---|---|---|---|
| Live activity monitoring | ★★★★★ |
★★★★★ behind |
★★★★★ | ★★★★★ |
Plus counts requests in flight, per upstream, inside the process. Ours come from stub_status and the access log, and a request that has not finished has not been logged, so in flight is a number we genuinely cannot show. The HAProxy stats page is the reference for this and ALOHA carries it: sessions in flight, queue depth, per server error counts, all of it live and all of it from inside the process. Kemp shows live counters per service in its interface. Both beat us and the reason is the same as with Plus: they are the proxy, and we are a manager standing next to one.
|
| CPU, memory and load over time | ★★★★★ |
★★★★★ ahead |
★★★★★ | ★★★★★ |
Plus reports on nginx; the box it runs on is somebody else's problem, and its dashboard is the present tense. We chart both load balancers on their own page and now keep it: one minute detail for 48 hours, five minute buckets for thirty days, and drag across any chart to zoom every chart to that range. This was four while the history was two hours in memory that went on restart, which was the whole of the reason, so it is five now that reason is gone. Every bucket keeps min, mean and max, because a five minute average alone is where a spike goes to die. Measured on a real fleet at 27 MB for four nodes across both tiers. Both appliances are strong on the present tense and thin on history. ALOHA gives you a live stats page, SNMP and a Prometheus endpoint, and then expects you to run a monitoring system to keep any of it; the vendor's own answer for stored history is HAProxy Fusion, which is a separate product. Kemp keeps more on the box and puts the long view in LoadMaster 360, also separate. Keeping thirty days on the box with nothing else to install is the difference.
|
| Backend CPU and memory | ★★★★★ |
★★★★★ ahead |
★★★★★ | ★★★★★ |
Neither product has an agent on your backends. We read a Prometheus endpoint if a pool is given one, and label an application exporter differently from a machine one, because a JVM at 100% of one core is not a busy box. Both can ask a backend how it is doing, and neither shows you the answer. Kemp's resource based scheduling and HAProxy's agent check both read a number the server publishes and use it to change the weight. That is a steering input, not a chart, so this is a 1 rather than a 0. Something has to be running on the backend to publish it either way.
|
Operations
| Capability | HAProxy ALOHA | Failover LB | NGINX Plus | Kemp LoadMaster | Why |
|---|---|---|---|---|---|
| Changing upstreams without a reload | ★★★★★ |
★★★★★ behind |
★★★★★ | ★★★★★ |
Plus changes upstreams over an API with no reload at all. We rewrite the config and reload, which on nginx is graceful and drops nothing in flight, but it is a reload: a little CPU, two sets of workers briefly, and long lived connections holding the old ones open. Both appliances add, drain and remove servers live over an API with nothing restarted, and both have done for years. This is a row we lose to all three, and the reason is structural: they own the process, we edit its config file.
|
| Managing the whole thing from a browser | ★★★★★ | ★★★★★ | ★★★★★ | ★★★★★ |
This is the product. Plus is configured in files; its GUI is a statistics dashboard, and configuration through a browser is Instance Manager or NGINX One, sold separately. Everything here is a page, and the API exists because the page needed it. Kemp matches us and should: the web interface is the product there too, everything is a form, and it has been polished for longer than this project has existed. ALOHA has a real interface with a setup wizard, but a lot of the layer 7 work still comes down to editing HAProxy configuration text in a box in the browser, which is a file with a nicer background.
|
| Importing an nginx config you already have | ★★★★★ |
★★★★★ ahead |
★★★★★ | ★★★★★ |
We parse an existing config into sites, pools and settings, so adopting this does not start with retyping. Four because anything it cannot model is kept as raw config rather than quietly dropped, and you should read the result. Neither appliance reads an nginx config, and there is no reason either would: they are not nginx. Moving to one means building your services again in their model, by hand or by script. That is a real cost and it lands on the week you migrate.
|
| Where the nginx binary comes from | ★★★★★ |
★★★★★ behind |
★★★★★ | ★★★★★ |
A row we lose and should. Plus is a supported package from F5. Ours is built from source on each node so the modules can be chosen, which means a rebuild to add one and means you are carrying that build yourself. We drive it from a page, one node at a time, which makes it survivable rather than pleasant. Both appliances ship a signed firmware image the vendor tested, which is the whole point of buying an appliance. We lose this row to all three and it is the honest cost of choosing our own modules. The other side of that coin is the post quantum row above, which we only win because we build our own.
|
| Reaching backends with no public address | ★★★★★ |
★★★★★ ahead |
★★★★★ | ★★★★★ |
A WireGuard tunnel a workload enrolls into with one command, so a machine behind NAT becomes a pool member without asking anybody for a firewall change. Neither nginx nor Plus does anything like this; it assumes the backend is already reachable. No load balancer on this page does this, because a load balancer assumes it can already reach the servers. If your backends sit behind NAT you are buying a VPN alongside any of the other three and wiring the two together yourself.
|
| DNS based failover between sites | ★★★★★ |
★★★★★ behind |
★★★★★ | ★★★★★ |
Not in Plus at all. F5 sell that as a different product entirely. Ours answers DNS with the healthy site, which covers the common case and inherits every DNS caching problem there has ever been. Kemp is the best on this page by a distance. Their GSLB steers on the client's country, continent, address range or actual distance in degrees, weighs the live load at each site, and can refuse addresses with a bad reputation. ALOHA has a solid GSLB module and added health checks over HTTPS so it can probe a site properly rather than guessing from a port being open. Both need the paid tier.
|
| Custom error pages | ★★★★★ |
★★★★★ ahead |
★★★★★ | ★★★★★ |
error_page is free in both, and then you are writing HTML and putting it on every node yourself. Ours are templates you point sites at, replicated with the config. Both appliances let you upload a page and attach it to a service. The step we keep is that ours are templates several sites share and the fleet replicates, so fixing a typo is one edit rather than one edit per box.
|
Backup and restore
| Capability | HAProxy ALOHA | Failover LB | NGINX Plus | Kemp LoadMaster | Why |
|---|---|---|---|---|---|
| Taking a backup, and where it goes | ★★★★★ |
★★★★★ behind |
★★★★★ | ★★★★★ |
With Plus this is your config files, so it is whatever your configuration management already does, which for a lot of people is a real answer and for the rest is nothing. Ours is a button and one file that lands in your browser. Three and not more, because there is no schedule and nowhere to send it: a backup somebody has to remember to take is a backup that is three months old when you need it. Kemp is the best here and it is not close. Backups can run on a schedule and push themselves to a remote server over SCP or SFTP, so the copy is off the box without anybody doing anything. FTP is the default and that is worth changing, since it sends the file and the password in clear. ALOHA is an Export button on the Setup tab, which is the same shape as ours.
|
| What is actually in the backup | ★★★★★ |
★★★★★ ahead |
★★★★★ | ★★★★★ |
The row that decides whether a backup is worth having. Ours holds everything the fleet is configured to do: sites, pools, certificates and their private keys, WAF profiles and the exclusions somebody spent an afternoon earning, accounts, access lists, error pages. Node names and cluster identity are deliberately left out, because they belong to the machines rather than to the configuration. The file is encrypted with AES-256, and the honest caveat is that the password is the operator's login password through PBKDF2 at 1000 iterations, which is not a lot: treat the file as the bag of private keys it is. Kemp scores two for one specific reason, and it is the single most useful fact on this page: **their documentation says no SSL certificate information is contained within a backup.** Everything else is there, and the certificates are a separate export you have to remember. A restore that brings back every virtual service and no certificates is a restore that ends with every site down, and you find that out at the worst moment. For ALOHA the export carries the configuration; we could not confirm from published material whether uploaded certificates travel with it, so three reflects what we could read and not a judgment.
|
| Restoring, and rebuilding somewhere else | ★★★★★ |
★★★★★ behind |
★★★★★ | ★★★★★ |
Ours rebuilds a fleet that has nothing in common with the old one: different addresses, different node names, different hardware. Secrets are unsealed on the way out and sealed again with the new fleet's own key, because the key that protects them here does not exist there. Four and not five because it is all or nothing. You cannot restore only the pools, and the one thing deliberately left behind is the management network list, since restoring it is a fine way to lock yourself out of the system you are in the middle of rebuilding. Kemp draws with us by being good at the opposite half. You choose what comes back: the base configuration, the virtual services, GEO, each on its own. That is genuinely better than our all or nothing for the everyday case of undoing one afternoon. It is weaker for the disaster case, because the base configuration carries the addresses of the box it came from. ALOHA imports what it exported and has a well documented factory reset, including one from the serial console for when the config is bad enough that the interface will not load, which is a nice thing to have and not the same as a restore.
|
Content and protocols
| Capability | HAProxy ALOHA | Failover LB | NGINX Plus | Kemp LoadMaster | Why |
|---|---|---|---|---|---|
| HTTP/3 and QUIC | ★★★★★ | ★★★★★ | ★★★★★ | ★★★★★ |
Free in nginx now, and no longer a rebuild away: the installer builds it by default against the OpenSSL 3.5 it already pins, and a site turns it on from its own settings. Four while the flag was missing, which was the whole of the reason. Worth more here than the version number suggests, because a QUIC handshake is TLS 1.3 by definition and is therefore where the post quantum key exchange actually lands. ALOHA has carried HTTP/3 since version 15 and has been tuning it ever since, with QUIC memory limits, a switch to turn it off per listener, and experimental HTTP/3 out to the backend in version 18. It is the most mature QUIC on this page. For Kemp we could find nothing published, so this is a 1 meaning we do not know rather than a 0 meaning it is absent.
|
| HLS, DASH and f4f video packaging | ★★★★★ |
★★★★★ behind |
★★★★★ | ★★★★★ |
Compiled into the Plus binary and not available any other way. If you need packaged video streaming, that is a real reason to buy Plus. Neither appliance packages video either. This is a row Plus wins against everybody, and it is the clearest example on the page of why a star total is a poor way to choose: if you need this, three of the four products are simply out.
|
| NTLM connection pinning | ★★★★★ |
★★★★★ behind |
★★★★★ | ★★★★★ |
Keeps a connection pinned through a Windows authentication handshake. It cannot be done from outside the process, so if you proxy to something needing NTLM this one will bite. HAProxy handles this by never reusing a backend connection for a different client, which is a documented setting and does the job at some cost in connections, so ALOHA gets a four. Kemp publishes plenty about signing users in against Windows and much less about pinning the connection itself, so this is a 2 covering what we could confirm.
|
| MQTT preread and filtering | ★★★★★ |
★★★★★ behind |
★★★★★ | ★★★★★ |
Stream level MQTT parsing, Plus only. No way around it. Not Plus only after all, which is what happens when you widen a comparison. HAProxy can read MQTT fields and route on them, so ALOHA does this. Kemp does not.
|
| Runtime key value store | ★★★★★ |
★★★★★ behind |
★★★★★ | ★★★★★ |
Plus keeps a store you can change over the API, which is how people build live blocklists. We have maps, which means rewriting config and reloading to change one entry. ALOHA is the best of the four. HAProxy stick tables hold counters and state that survive a reload and replicate between peers, and map files can be edited live over the runtime socket, which is exactly the live blocklist people want this for. For Kemp we could confirm nothing equivalent either way, so that is a 1 meaning we do not know rather than a 0 meaning it is absent.
|
Only here
Two rows where all three others score nothing
Kept to those, rather than everywhere we happen to score higher. "We do it better" is an argument. "Nobody else has it" is a fact, and only the second belongs on a list with this title.
Importing an nginx config you already have
We parse an existing configuration into sites, pools and settings, so adopting this does not start with retyping. Four rather than five because anything it cannot model is kept as raw config rather than quietly dropped, and you should read the result.
Read moreReaching backends with no public address
A WireGuard tunnel a workload enrolls into with one command, so a machine behind NAT becomes a pool member without asking anybody for a firewall change. Neither nginx nor Plus does anything like this, and neither appliance does either.
Read moreThis list used to be much longer, because it used to be measured against NGINX Plus alone. Adding two appliances cut it to two. Several things that read as ours alone turned out to be what an appliance has done for years: fleet backup and restore, admin accounts with an audit trail, DNS failover between sites. That is what widening a comparison is supposed to do to it.
Read more
The rest of the comparison
What the others cost
Prices from reseller listings and trackers, with what each number does and does not include.
OpenAgainst NGINX Plus
Every paid nginx feature, and what this builds instead or admits it cannot.
OpenAgainst plain nginx
You already have free nginx. This is what the layer on top actually adds.
OpenAgainst HAProxy ALOHA
Where the appliance genuinely wins, and where you are paying for a box you did not need.
OpenAgainst Kemp LoadMaster
A per instance license against two servers you already own, feature by feature.
OpenTwo fresh servers is all it takes
Ubuntu 22.04 or newer, root access, and about twenty minutes. The installer does the rest and it is safe to run twice.