About Failover LB
A web interface that runs two or more nginx servers as one load balancer. Written by one person for a non profit, and given away because plenty of other people are in the same position.
The short version
The things it tries to get right
- A bad change cannot break the fleet. Everything is staged and tested on every node before any node commits.
- Nothing sits in the middle. No controller, no external database, nothing whose loss stops you managing the rest.
- The web part is not trusted. It runs unprivileged and asks a small root agent to do a fixed list of jobs.
- Only offer what this nginx can do. The catalog is gated on what the real binary was built with, so you cannot save something that would stop nginx starting.
- Say what is missing. The comparison page in the product scores itself second of four and publishes eighteen rows where it loses.
- More than one person should be able to run it. Help text next to every setting, examples, and a screen that explains what your choices produced.
Being honest about the state of it
What is not covered by tests
The check suites run against a real installed fleet and prove that every setting renders config real nginx loads, that permissions are enforced, that the parser handles the things regular expressions get wrong, and that an older database upgrades cleanly.
What they do not cover: whether every button does the right thing, the certificate life beyond first issue, and failover between two nodes under load. Those need a person with a browser and a plan, and some of them have been done by hand rather than automatically.
There has also been no third party security audit. The security page writes the design down so you can judge it, and the source is deliberately small enough to read start to finish.
What it is not trying to be
- A Kubernetes ingress controller. If you are on Kubernetes, use one.
- A monitoring system. The utilization charts exist so you can answer a question without leaving the screen. If you already have Prometheus, keep using it.
- A CDN. Caching at the edge is there and it is not a global network.
- A replacement for a support contract. That is the row it loses worst and the one it will always lose.
A note on the name
The software was called NGINX Management until August 2026. It was renamed because NGINX is a registered trademark of F5, Inc. and a product name should not borrow somebody else's mark. Nothing in the name refers to NGINX any more. The trademark page has the full notice.
Contributing
Bug reports are the most useful thing. Include the manager log, what you were doing at the time, which node you were on and whether it was active or standby, and the config version from the dashboard. That is nearly always enough for somebody to work out what happened.
For a security problem, please report it privately rather than opening a public issue, and give it a reasonable amount of time before publishing.