← All tools
HAProxy Config Linter
Structural checks on haproxy.cfg — the mistakes that 503 in production.
Why this exists
A use_backend pointing at a backend that doesn't exist passes review by eye and 503s at runtime; servers without 'check' keep receiving traffic after they die. This catches the outage-shaped mistakes with line numbers, before `haproxy -c` and the reload.
🔒 Runs in your browser — nothing is sent anywhere
3 sections parsed · 3 findings
- NEXT STEPdefaults (line 1): no "timeout connect" — HAProxy logs a startup warning and connections can hang forever. Add e.g. "timeout connect 30s".
- ACTION NEEDEDLine 8: default_backend app_servers — no backend/listen with that name exists. Requests will 503 at runtime.
- NOTEbackend app: none of its 2 server(s) have "check" — dead servers keep receiving traffic until clients time out. Append "check" to each server line.
These are structural checks (references, health checks, timeouts, deprecated directives) — the full grammar check is still haproxy -c -f haproxy.cfg before every reload. Nothing you paste leaves the page.